django-registration 0.8 中文文档[原创] ——升级指南
2011-12-17 17:35
337 查看
django-registration0.8完全重写了早期的基础代码,引入了大量新特性,在灵活性和定制化方面得到了很大提高。虽然我们尽可能保持旧版本的兼容性,但不可避免地还是存在一些变化需要我们升级到0.8版的设置。这篇文档是对这些变化的总结,新特性在0.8版本中是有效的。
(r'^accounts/',include('registration.urls')),
(r'^accounts/',include('registration.backends.default.urls')),
registrationbackend
registration_activation_complete
registration/activation_complete.html
post_activation_redirect()
signals
create_inactive_user()
django.contrib.sites
RequestSite
user_registered
create_inactive_user()
user_activated
activate_user()
create_inactive_user()
RegistrationProfile
send_activation_eamil()
所需的Django版本
django-registration0.8需要Django1.1或更新版本;因为0.8版利用了Django1.1才推出的一些特性。兼容性变化
如果你从旧版本升级,使用的是默认设置,大部分都能继续运行。但是,旧的URLconf在django-registration1.0版本中将会被废弃,所以推荐你现在开始迁移。将registration.urls改为registration.backends.default.urls,如下:(r'^accounts/',include('registration.urls')),
改为:
(r'^accounts/',include('registration.backends.default.urls')),
旧的include在django-registration1.0前继续有效,在0.8版本中会抛出PendingDeprecationWarning,在0.9版本中会抛出DeprecationWarning,1.0版本就会完全移除。
注册视图的变化
用于控制用户注册的视图在django-registration0.8中相当大程度上变化了。现在所有视图都需要参数关键字参数backend,指定使用的
registrationbackend
,所以这些视图匹配的URL必需支持参数。默认backend提供的URLconf正确的传递了这个参数。
register()视图中的profile_callback参数已被移除;它的功能现在可以通过自定义backend轻松实现,或者通过在注册过程中发送signals。
activate()视图对是否成功激活跳转是有争议的;在默认backend中会跳转到
registration_activation_complete
匹配的URL;默认设置下,会跳转到渲染的模板
registration/activation_complete.html
,所以默认backend和默认配置下这个模板会显示出来。其他backends通过
post_activation_redirect()
方法跳转到指定位置,通过场地关键字参数success_url到activate()中这个跳转会被覆盖掉。激活不成功,activate()视图仍然显示同样的模板,但是他的上下文改变了:这个上下文简单地由URL捕获的和视图参数中的关键字参数组成。
注册表单的变化
以前,用于在注册中手机数据的表单被实现在save()方法(创建新帐户)中。现在不再这样,创建新帐户是由backend控制,所以任何自定义逻辑应该移动到自定义backend中去,或者在注册过程中发送
signals
。
RegistrationProfile模型的变化
RegistrationManager的
create_inactive_user()
方法现在必须添加一个参数:site。这个参数让django-registration容易被使用,而不管是否安装了
django.contrib.sites
,因为一个
RequestSite
对象被传递进去,而不是正规的Site对象。
user_registered
标志不再由
create_inactive_user()
发送,
user_activated
标致不再由
activate_user()
发送;这些标志现在都在这些方法被调用后由backend发送。注意,这些标志都是在django-registration0.7后增加的,而不是重构之前,在backendAPI中会介绍,因此只有跟踪开发代码库的设置才能使用它们。
激活邮件的发送已经从
create_inactive_user()
方法中提取出来,现在作为
RegistrationProfile
实例的
send_activation_eamil()
存在。
相关文章推荐
- django-registration 0.8 中文文档[原创] ——快速开始指南
- django-registration 0.8 中文文档[原创] ——前言
- django-registration 0.8 中文文档[原创] ——发行说明
- 【Scikit-Learn 中文文档】广义线性模型 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】多类和多标签算法 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】广义线性模型 - 监督学习 - 用户指南 | ApacheCN
- ASP.NET Core 中文文档 第二章 指南(3)用 Visual Studio 发布一个 Azure 云 Web 应用程序
- 【Scikit-Learn 中文文档】交叉分解 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】高斯过程 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】高斯混合模型 - 无监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】随机梯度下降 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】特征选择 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】决策树 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】决策树 - 监督学习 - 用户指南 | ApacheCN
- ASP.NET Core 中文文档 第二章 指南(4.5)使用 SQL Server LocalDB
- 【Scikit-Learn 中文文档】半监督学习 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】流形学习 - 监督学习 - 用户指南 | ApacheCN
- ASP.NET Core 中文文档 第二章 指南(4.7)添加搜索
- 【Scikit-Learn 中文文档】流形学习 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】神经网络模块(监督的)- 监督学习 - 用户指南 | ApacheCN