真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django基于cookie的登錄驗證-創(chuàng)新互聯(lián)

urls.py
url(r'^admin/', admin.site.urls),
url(r'^set_cookie/',views.set_cookie),
url(r'^get_cookie/',views.get_cookie),
url(r'^login/',views.login),
url(r'^order/',views.order),
url(r'^shopping/',views.shopping),
views.py
from django.shortcuts import render, HttpResponse, redirect


# 測試的時候要記得清理緩存哦
# Create your views here.
# 登錄認證裝飾器
def login_auth(func):
    def inner(request, *args, **kwargs):
        # 拿到之前訪問的路徑
        url = request.get_full_path()
        is_login = request.COOKIES.get('is_login')
        if is_login:
            res = func(request, *args, **kwargs)
            return res
        else:
            return redirect('/login/?next=%s' %url)
            # return redirect('/login/')

    return inner


# ------------------------
def set_cookie(request):
    obj = HttpResponse('ok')
    obj.set_cookie('name', 's_jun')
    return obj


def get_cookie(request):
    print(type(request.COOKIES))
    print(request.COOKIES)
    name = request.COOKIES.get('name')
    obj = HttpResponse("get_cookie")
    return obj


# -------------------------------------------------------------
# 新的login,拿到之前訪問的路徑
# 訪問/order/ (沒有登錄,并且刪除cookie)頁面的時候,會跳到/login/?next=/order/的頁面,若是成功登錄以后,變會跳到之前訪問的路徑.(例如:/order/)
def login(request):
    if request.method == "GET":
        return render(request, 'login.html')
    else:
        next = request.GET.get('next')
        name = request.POST.get('name')
        pwd = request.POST.get('pwd')
        if name == 's_jun' and pwd == '123':
            if next:
                obj=redirect(next)
            else:
                obj=redirect('/shopping/')
            obj.set_cookie('is_login', True)  # 設(shè)置cookie
            return obj
        else:
            return HttpResponse('用戶名或密碼錯誤')


# 原來的login
# def login(request):
#     if request.method == "GET":
#         return render(request, 'login.html')
#     else:
#         name = request.POST.get('name')
#         pwd = request.POST.get('pwd')
#         if name == 's_jun' and pwd == '123':
#             obj = HttpResponse('登錄成功,寫入cookie,請刷新頁面后查看cookie,返回/order/或者/shopping/,頁面查看登錄結(jié)果')
#             obj.set_cookie('is_login', True)  # 設(shè)置cookie
#             return obj
#         else:
#             return HttpResponse('用戶名或密碼錯誤')


#  ↑上login 函數(shù)與(http://127.0.0.1:8000/order,訪問時,若沒有登錄的情況下,會自動跳轉(zhuǎn)到/login/的頁面中,只有登錄了才可以看到 http://127.0.0.1:8000/order/的這個頁面中(沒有跳轉(zhuǎn)到/login/的頁面中) )order函數(shù)下↓
# 此是為了判斷cookie是否存在,存在的話便會看到order的頁面中
# 基于cookie 寫了登錄驗證
# def order(request):
#     is_login = request.COOKIES.get('is_login')  # 獲取cookie
#     # 判斷是否有cookie,獲取到的話會看到"我是訂單頁面,我得登錄才能看",獲取不到會返回到/login/頁面中
#     if is_login:
#         return HttpResponse('我是訂單頁面,我得登錄才能看')
#     else:
#         return redirect('/login/')
#
#
# def shopping(request):
#     is_login = request.COOKIES.get('is_login')  # 獲取cookie
#     if is_login:
#         return HttpResponse('我是購物頁面,我得登錄才能看')
#     else:
#         return redirect('/login/')


# 登錄驗證語法糖
@login_auth
def order(request):
    return HttpResponse('我是訂單頁面,我得登錄才能看')


@login_auth
def shopping(request):
    return HttpResponse('我是購物頁面,我得登錄才能看')

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

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,龍游網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:龍游等地區(qū)。龍游做網(wǎng)站價格咨詢:18982081108
網(wǎng)站名稱:django基于cookie的登錄驗證-創(chuàng)新互聯(lián)
文章起源:http://weahome.cn/article/dhjihh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部