自动合并用户帐户。

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由三个三元组组成,每个三元组指定:

  1. 要合并的模型类的路径。
  2. 要在合并期间使用的Surgeon类的路径。
  3. 额外的论点。

当前支持的额外参数是:

  • 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是数据线。getMicrosecondPosition()线程安全?   java我可以设置多个。whereEqualTo在firestore查询中指向文档中的字段?   java Intellij 14 Glassfish服务器未连接。部署不可用   java JPA。如何返回null而不是LazyInitializationException   java TarsosDSP Clap检测   比较基于字符串的java枚举   java空指针异常日历。设定时间   java Hystrix在运行时忽略超时   将数据从Java RESTful服务器推送到Android手机上进行通知   java Jnotify delete vs shift delete问题   java安装失败\u没有匹配\u ABIS res113   TreeJava:传递未实例化的对象引用是如何工作的?   java如何使用Android ringtone manager从资产文件夹播放铃声?   java在Dropwizard的不同状态下使用不同的模拟