• django-registration


    快速开始指南

          在安装django-registration之前,你需要先安装Django。django-registration 0.8需要Django1.1或更新版本的支持。

          Django进一步的信息请参阅 Django下载页面,提供了方便的打包下载和安装介绍。

    安装django-registration

          安装django-registration的几种方式:

      1. 通过包管理器自动进行;
      2. 下载django-registration压缩包并手动安装;
      3. 通过执行最新代码的Mercurial检出手动安装。

          推荐您学习使用virtualenv来开发部署Python软件。virtualenv能使各种软件的安装与Python环境隔离开,其他安装的软件不会产生冲突。这样Python包的安装、测试、管理和部署简单多了。

    通过包管理器自动安装

          有几种用于Python的包自动安装工具,最流行的是easy_install和pip,也可以用于安装django-registration。

         

          使用easy_install,输入:

    easy_install -Z django-registration

        注意:-Z参数是必需的,告诉esay_install不要新建压缩包;压缩包会阻碍Django正常工作的某些功能。
     
        使用pip,输入:

    pip install django-registration

        
        你也可以使用操作系统发行商提供的django-registration包。请参阅你的操作系统的安装包详细列表,注意第三方发行商可能提供的是django-registration的老版本,所以你应该参阅你的操作系统包文档。
     

    下载压缩包手动安装

        如果你不喜欢使用包自动安装,你可以下载django-registration压缩包手动安装。最新版本在http://pypi.python.org/pypi/django-registration/下载。
     
        下载完解压,得到一个包含setup.py安装脚本的django-registration-0.8文件夹。在命令行的此目录下输入:

    python setup.py install

        注意:在一些系统中你可能需要管理员权限。
     

    Mercurial检出手动安装

          如果你想要尝试最新的开发代码,可以从django-registration版本库中获取。版本库由Bitbucket托管,使用Mercurial作为版本控制。你需要安装Mercurial来获取最新代码和文档,命令行输入:

    hg clone

    http://bitbucket.org/ubernostrum/django-registration/
     
        你也可以hg clone的-r参数来获得指定的版本,每个版本的格式都是:vX.Y,“X.Y”是版本号。例如:检出0.8版本,输入:

    hg clone -r v0.8

    http://bitbucket.org/ubernostrum/django-registration/
     
        上面两种方式都会在你的电脑中新建django-registration版本库的一个副本。然后你可以在检出你的Python导入路径里添加django-registration目录,或者执行setup.py脚本像包一样安装。
     

    基本配置和使用

          安装后,你就能添加django-registration到你正在开发的任何基于Django的项目。默认设置将会使用户注册按照下面工作流进行:

      1. 用户通过提供用户名、Email地址和密码注册;
      2. 通过此信息,一个新User对象被创建,它的is_active字段设置为False。此外,一个激活密钥会自动生成和存储,一封包含激活帐户链接的电子邮件会发送给用户。
      3. 用户点击激活链接,这个新帐户就会被激活(is_active字段被设置为True),然后用户就可以登录了。

          注意:默认工作流需要django.contrib.auth模块被安装,推荐django.contrib.sites模块也应该被安装好。你还需要有一个可用的邮件服务器(发送激活邮件),给Django提供必需的设置来使用此邮件服务器(请参阅Django的邮件发送文档细节)。

    必需的设置

          首先在你项目的INSTALLED_APPS的设置中添加registration,然后添加一条额外的设置:ACCOUNT_ACTIVATION_DAYS

          这个设置是用户注册后在这个天数内必须激活他的帐户。如果用户在这段时间内没有激活,这个帐户将永久保持未激活,可以通过django-registration中提供的维护脚本来删除。

          例如,在你的Django settings文件中像下面一样设置:

    INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.sites', 'registration', # ...other installed applications... ) ACCOUNT_ACTIVATION_DAYS = 7 # One-week activation window; you may, of course, use a different value.

     
    完成后,运行

    manage.py syncdb

    来安装默认设置下的此模块。
     

    设置urls

          与django.contrib.auth中几个有用的视图(如:login,logout,password change/reset)一样,默认后台包含了Django URLconf,与django-registration中的视图相匹配的URL配置。这个URLconf在registration.backends.default.urls中,因此可以在项目的根URL配置中简单地包含它。例,将这些URLs加上前缀/accounts/,项目的根URL配置如下添加:

    (r'^accounts/', include('registration.backends.default.urls')),

        用户就可以访问/accounts/register/来注册,激活后通过/accounts/login/登录,等等。
     

    必需的模板

        默认配置中,你需要创建几个django-registration必需的模板,

    django.contrib.auth

    中视图所需的附加模板。django-registration所需的模板如下;注意,由于用做帐户激活邮件的模板异常,所有模板都使用

    RequestContext

    渲染和接收任何由

    context processors

    提供的附加变量。
     

    registration/registration_form.html

        用于显示用户填写注册的表单。上下文:
        form
        注册表单。它是

    django.forms.Form

    子类的一个实例;请参阅

    Django’s forms documention

    中如何在模板中显示表单。
     

    registration/registration_complete.html

          用于注册表单成功提交后。这个模板没有任何自己的变量,只是简单地告知用户帐户激活邮件已经发送出去。

     

    registration/activate.html

         用于帐户激活失败。上下文:

       activation_key
       尝试激活的激活码
     

    registration/activation_complete.html

       用于成功激活帐户。这个模板也没有自己的变量,只是简单告知用户他的帐户现在已激活了。
     

    registration/activation_email_subject.txt

       用于生成激活邮件的邮件标题。因为邮件标题必须是单行文本,所以任何从这个模板的输出在使用前都会被强制压缩成单行的。上下文:
       activation_key
       新帐户的激活码。
       expiration_days
       帐户激活的剩余天数。
       site
       表示用户注册站点的对象,依赖于安装的

    django.contrib.sites

    ,是

    django.contrib.sites.models.Site

    (如果这个sites应用已安装)或

    django.contrib.sites.models.RequestSite

    (如果没有安装)的一个实例。关于这些对象接口的更多细节请参阅

    the documentation for the Django sites framework

     

    registration/activation_email.txt

       用于生成激活邮件的内容。应该显示用户点击就能激活帐户的链接。上下文:
       activation_key
       新帐户的激活码
       expiration_days
       帐户激活的剩余天数。
       site
       表示用户注册站点的对象,依赖于安装的django.contrib.sites,是

    django.contrib.sites.models.Site

    (如果这个sites应用已安装)或

    django.contrib.sites.models.RequestSite

    (如果没有安装)的一个实例。关于这些对象接口的更多细节请参阅

    the documentation for the Django sites framework

       注意,用户生成帐户激活邮件的模板的扩展名是.txt,不是.html。由于对HTML邮件互用性问题的普遍反感,django-registration默认采用平文邮件,所以这些模板应该简单地输入平文,而不是HTMl。
       为了使django.contrib.auth的视图有效,你需要创建这些视图所需的模板。
    关于模板的更多细节请参阅 the documentation for Django’s authentication system

    https://www.cnblogs.com/PythonHome/archive/2011/12/17/2291040.html
  • 相关阅读:
    jdbc框架 commons-dbutils的使用
    SpringBoot整合Quartz和H2的例子
    Microsoft VS 2008 过期解决方法
    数据库事务的隔离级别
    angularJS中ng-if的用法
    angularJS中ng-change的用法
    Hello,Akka
    Yum常用命令及Yum中文手册
    最大堆的插入/删除/调整/排序操作(图解+程序)(JAVA)
    别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
  • 原文地址:https://www.cnblogs.com/hester/p/10552101.html
Copyright © 2020-2023  润新知