中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

django自帶的auth認(rèn)證系統(tǒng)-創(chuàng)新互聯(lián)

版本: python2.7

創(chuàng)新互聯(lián)公司,專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站、展示型成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。

django 1.8.16

project名稱:site_test, app: study

目錄結(jié)構(gòu):

-> site_test :tree
.
├── db.sqlite3
├── manage.py
├── site_test
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   ├── urls.pyc
│   ├── views.py
│   ├── views.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── static
└── templates
    ├── index.html
    ├── login.html
    ├── registration
    │   └── login.html
    └── study

1、site_test/settings文件中

INSTALL_APPS中要包含django.contrib.authdjango.contrib.contenttypes。默認(rèn)就有

django.contrib.contenttypes 是 auth 模塊的用戶權(quán)限處理部分依賴的應(yīng)用


MIDDLEWARE_CLASSES中要包含:

  • SessionMiddleware :用戶處理用戶會(huì)話。

  • AuthenticationMiddleware: 綁定一個(gè) User 對(duì)象到請(qǐng)求中。

默認(rèn)就有這兩個(gè)中間件

INSTALLED_APPS = (
    ##其他應(yīng)用,
    'django.contrib.auth',
    'django.contrib.contenttypes',
   
)

MIDDLEWARE_CLASSES = (
    '其他中間件列表',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

2、site_test/urls.py 文件


login, loginout是django自帶的方法,需要從django.contrib.auth.views中導(dǎo)入才能使用

from django.conf.urls import include, url
from django.contrib import admin

import views

import django.contrib.auth.views as auth_views ##不要忘記導(dǎo)入這個(gè)

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),  
    url(r'^login/', auth_views.login),
    url(r'^logout/', auth_views.logout_then_login),
    url(r'^$', views.index),
]

自帶的url有以下這些:


^login/$ [name='login']
^logout/$ [name='logout']
^password_change/$ [name='password_change']
^password_change/done/$ [name='password_change_done']
^password_reset/$ [name='password_reset']
^password_reset/done/$ [name='password_reset_done']
^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$ [name='password_reset_confirm']
^reset/done/$ [name='password_reset_complete']

3、site_test/views.py :

該文件定義了訪問index頁面的視圖方法,該文件需要自己創(chuàng)建。加上login_required() 意思是在訪問該頁面之前需要登錄

#coding:utf-8
from django.shortcuts import redirect,render

from django.contrib.auth.decorators import login_required

@login_required()
def index(request):
    return render(request, 'index.html')

login.html:


該文件位于templates/registration/login.html

注意:login.html不一定要位于registration目錄下

如果您不想調(diào)用模板registration/login.html,您可以通過額外的參數(shù)將template_name參數(shù)傳遞給as_view你的URLconf中的方法。

 例如,下面URLconf中的行將使用myapp/login.html:

url(r'^accounts/login/$', auth_views.LoginView.as_view(template_name='myapp/login.html')),

login.html文件內(nèi)容

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>

    <form action='.' method='post'>
    {% csrf_token %}
    <label for="username">用戶名:</label>
    <input type="text" name="username" value="" id="username">
    <label for="password">密碼:</label>
    <input type="password" name="password" value="" id="password">
    <!--<input type="submit" value="login">-->
    <input type="submit" value="login">
    <input type="hidden" name="next" value="{{ next|escape }}">
  </form>

  </body>
</html>

4、settings.py中加 LOGIN_URL(未通過認(rèn)證時(shí)跳轉(zhuǎn)的認(rèn)證頁面) 和 LOGIN_REDIRECT_URL (登錄成功后默認(rèn)跳轉(zhuǎn)的頁面)


LOGIN_URL='/login'      ##登錄頁面的url

LOGIN_REDIRECT_URL='/' ##登陸后跳轉(zhuǎn)的頁面,即索引頁面

5、index.html文件

html文件中要可以直接通過{{ user }}獲取用戶名


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
{{ user }}
<a href="/logout/">退出</a>
<h2>歡迎訪問index頁面</h2>
</body>
</html>

登錄測(cè)試

django 自帶的auth認(rèn)證系統(tǒng)

注銷后返回到登錄頁面

django 自帶的auth認(rèn)證系統(tǒng)

參考文檔:http://python.usyiyi.cn/translate/django_182/topics/auth/default.html

http://blog.nsfocus.net/django-easy-steps-user-authentication/

https://www.zmrenwu.com/post/30/

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享題目:django自帶的auth認(rèn)證系統(tǒng)-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.rwnh.cn/article32/dghhsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
大冶市| 普宁市| 林芝县| 全椒县| 高安市| 海林市| 如皋市| 沁水县| 扎鲁特旗| 司法| 南平市| 三台县| 泊头市| 绵竹市| 灌阳县| 海城市| 庆安县| 宣化县| 彰化县| 乌鲁木齐县| 合水县| 渝中区| 鲜城| 西峡县| 长泰县| 新晃| 洪泽县| 资源县| 门头沟区| 余江县| 昌宁县| 阿拉善左旗| 石门县| 周口市| 杭州市| 黄骅市| 襄城县| 萝北县| 嘉禾县| 通化县| 南昌市|