自动合并用户帐户。
django-transplant的Python项目详细描述
概述
django移植是一个应用程序,用于执行django用户的简单合并 账户。它应该与任何第三方社会认证都很好地配合 后端。
要求
Django移植需要:
- Django 1.2.5或更高。
如果您计划开发或运行测试套件,还应安装:
- 模拟
此依赖项不会通过PIP自动安装。
安装
要将pip安装到站点软件包中,请执行以下操作:
pip install django-transplant
要将pip安装到src文件夹(作为git repo)中,请执行以下操作:
pip install -e \ git+http://github.com/lolek09/django-transplant#egg=django-transplant
配置
将'transplant'添加到INSTALLED_APPS中。如果你打算进行测试 套件您还应该添加'transplant.tests':
INSTALLED_APPS += ( 'transplant', 'transplant.tests', # this is optional )
为了方便起见,django移植提供了一个用于执行 用户合并。你可以像任何窗体视图一样使用它,它的名称是 transplant_merge。它需要“transplant/merge.html”中的默认模板。
要连接它,只需将它添加到您的urlconf中的任何url:
urplatterns = patterns('', ... url(r'^accounts/merge/$', include('transplant.urls')), ... )
您现在应该可以获取合并表单并提交它,但是它将 没有效果。要使用默认合并,必须设置TRANSPLANT_OPERATIONS 在您的设置中。py:
TRANSPLANT_OPERATIONS = ( ( 'transplant.tests.models.CustomProfile', 'transplant.surgeons.DefaultSurgeon', {} ), ( 'transplant.tests.models.Item', 'transplant.tests.surgeons.DefaultSurgeon', {'user_field': 'owner'} ), ( 'transplant.tests.models.Message', 'transplant.tests.surgeons.DefaultSurgeon', {'manager': 'unread'} ), )
TRANSPLANT_OPERATIONS由三个三元组组成,每个三元组指定:
- 要合并的模型类的路径。
- 要在合并期间使用的Surgeon类的路径。
- 额外的论点。
当前支持的额外参数是:
- user_field-外科医生将使用的用户字段的名称 在合并期间(默认为“user”)。
- manager-合并期间使用的管理器的名称。在上面的例子中 只有通过“未读”管理器访问的邮件才会被合并。
您可能对DefaultSurgeon的行为感到满意,即:
- 将给定为“用户字段”的字段设置为执行合并的用户
- 对每个实体调用save()(以便触发所有信号)
- 在合并的用户上将is_active设置为false
如果您需要其他功能,请参阅文档。
更改日志
0.0.2
- Addidional Surgeon class BatchSurgeon pefrorming batch updates
- Added UserMergeForm used by default by provided view
0.0.1
- Surgery class
- Surgeon classes - NopSurgeon class that does basically nothing - DefaultSurgeon class for default merging behavior
- Default view provide for convenience
- Urls provided for conveniene