django-invitations, Django 通用邀请应用程序

分享于 

6分钟阅读

GitHub

  繁體 雙語
Django invitation integration for django-allauth
  • 源代码名称:django-invitations
  • 源代码网址:http://www.github.com/bee-keeper/django-invitations
  • django-invitations源代码文档
  • django-invitations源代码下载
  • Git URL:
    git://www.github.com/bee-keeper/django-invitations.git
    Git Clone代码到本地:
    git clone http://www.github.com/bee-keeper/django-invitations
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/bee-keeper/django-invitations
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    django请柬- 通用邀请应用程序

    Build Status

    Coverage Status

    带有可以调整后端和 django-allauth支持的通用邀请解决方案。 所有的电子邮件和邮件都是可以定制的。

    这个应用程序最初被写为优秀的 django-allauth插件的邀请解决方案,在保留 100%个向后兼容性的同时,也被重构。

    一般邀请流:

    • 通过电子邮件( Django 管理,表单 post,JSON post或者编程方式),Priviledged用户邀请潜在用户
    • 用户收到带有确认链接的邀请电子邮件
    • 用户点击链接并被重定向到预配置的url ( 默认为账户/注册)

    Allauth邀请流:

    • 像上面一样。
    • 用户点击链接,他们的电子邮件被确认,他们被重定向到注册
    • 注册URL有电子邮件预填充,注册用户登录到该站点

    通用安装

    
    pip install django-invitations
    
    
    
    # Add to settings.py, INSTALLED_APPS
    
    
    'invitations',
    
    
    
    # Append to urls.py
    
    
    url(r'^invitations/', include('invitations.urls', namespace='invitations')),
    
    
    
    # Run migrations
    
    
    
    python manage.py migrate
    
    
    
    

    Allauth集成

    如上所述,请注意,邀请必须在INSTALLED_APPS中的allauth之后

    
    # Add to settings.py
    
    
    ACCOUNT_ADAPTER = 'invitations.models.InvitationsAdapter'
    
    
    
    

    电子邮件发送邀请

    
    # inviter argument is optional
    
    
    invite = Invitation.create('email@example.com', inviter=request.user)
    
    
    invite.send_invitation(request)
    
    
    
    

    要通过 Django 管理发送邀请,只需添加邀请并保存。

    批量邀请

    通过JSON支持批量邀请。 在专用URL和邀请列表中发布逗号分隔的邮件,邀请将返回包含有效和无效邀请列表的数据对象。

    测试

    python manage.py test 或者 tox

    附加配置

    • INVITATIONS_INVITATION_EXPIRY ( default= 3 )

      整数。邀请过期前的天数。

    • INVITATIONS_INVITATION_ONLY ( default= False )

      如果该站点只被邀请,或者对所有( 仅在使用allauth时相关) 开放。

    • INVITATIONS_CONFIRM_INVITE_ON_GET ( default= True )

      布尔值。如果通过 GET 请求可以接受确认。

    • INVITATIONS_ACCEPT_INVITE_AFTER_SIGNUP ( default= False )

      布尔值如果 True,则用户完成注册后将接受邀请。 如果 False,邀请将在点击邀请链接后被接受。 注意,这只对Allauth起作用,这意味着 ACCOUNT_ADAPTER 必须是 'invitations.models.InvitationsAdapter'

    • INVITATIONS_GONE_ON_ACCEPT_ERROR ( default= True )

      如果邀请键无效或者邀请过期或者接受邀请,则返回一个HTTP响应。如果邀请键无效,则返回一个 HTTP。 如果 False,则显示错误消息并重定向错误:

      • 在过期的密钥上重定向到 INVITATIONS_SIGNUP_REDIRECT
      • 否则,将重定向到其他错误的INVITATIONS_LOGIN_REDIRECT
    • INVITATIONS_ALLOW_JSON_INVITES ( default= False )

      公开一个URL以验证受邀者的过帐过帐

    • INVITATIONS_SIGNUP_REDIRECT ( default= 'account_signup' )

      注册网址的网址名称。

    • INVITATIONS_LOGIN_REDIRECT ( 来自 Django 设置的default= LOGIN_URL )

      登录网址的网址名称。

    • INVITATIONS_ADAPTER ( 默认值= 'invitations.adapters.BaseInvitationsAdapter' )

      用于自定义集成。如果使用 django-allauth,则将它的设置为 ACCOUNT_ADAPTER

    • INVITATIONS_EMAIL_MAX_LENGTH ( default= 254 )

      如果设置为 None ( 默认值),则邀请电子邮件最大长度将设置为 254. 设置为整数值,以设置客户的电子邮件最大长度值。

    • INVITATIONS_EMAIL_SUBJECT_PREFIX ( default= None )

      如果设置为 None ( 默认值),邀请邮件主题将以括号( 如 [example.com] ) 中当前站点的名称作为前缀。 将这里设置设置为自定义电子邮件主题前缀的字符串,或者为无前缀的空字符串。

    • INVITATIONS_INVITATION_MODEL ( default= invitations.Invitation )

      当前项目中使用的邀请模型的应用程序注册表路径,用于自定义目的。

    信号

    发出以下信号:

    • invite_url_sent
    • invite_accepted

    管理命令

    过期和接受的邀请可以被清除为:

    python manage.py clear_expired_invitations


    相关文章