在安裝django-registration以前,你須要先安裝Django。django-registration 0.8須要Django1.1或更新版本的支持。html
Django進一步的信息請參閱 Django下載頁面,提供了方便的打包下載和安裝介紹。python
安裝django-registration的幾種方式:django
推薦您學習使用virtualenv來開發部署Python軟件。virtualenv能使各類軟件的安裝與Python環境隔離開,其餘安裝的軟件不會產生衝突。這樣Python包的安裝、測試、管理和部署簡單多了。服務器
有幾種用於Python的包自動安裝工具,最流行的是easy_install和pip,也能夠用於安裝django-registration。app
使用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 installurl
注意:在一些系統中你可能須要管理員權限。
若是你想要嘗試最新的開發代碼,能夠從django-registration版本庫中獲取。版本庫由Bitbucket託管,使用Mercurial做爲版本控制。你須要安裝Mercurial來獲取最新代碼和文檔,命令行輸入:spa
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的項目。默認設置將會使用戶註冊按照下面工做流進行:
注意:默認工做流須要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
來安裝默認設置下的此模塊。
與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
提供的附加變量。
用於顯示用戶填寫註冊的表單。上下文:
form
註冊表單。它是
django.forms.Form
子類的一個實例;請參閱
Django’s forms documention
中如何在模板中顯示錶單。
用於註冊表單成功提交後。這個模板沒有任何本身的變量,只是簡單地告知用戶賬戶激活郵件已經發送出去。
用於賬戶激活失敗。上下文:
activation_key
嘗試激活的激活碼
用於成功激活賬戶。這個模板也沒有本身的變量,只是簡單告知用戶他的賬戶如今已激活了。
用於生成激活郵件的郵件標題。由於郵件標題必須是單行文本,因此任何從這個模板的輸出在使用前都會被強制壓縮成單行的。上下文:
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
。
用於生成激活郵件的內容。應該顯示用戶點擊就能激活賬戶的連接。上下文:
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 systemhttps://www.cnblogs.com/PythonHome/archive/2011/12/17/2291040.html