最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django session完成狀態(tài)保持的方法

 更新時間:2018年11月27日 09:33:21   作者:crystaleone  
這篇文章主要介紹了django session完成狀態(tài)保持的方法,使用登錄頁面演示session的狀態(tài)保持功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本例使用登錄頁面演示,session的狀態(tài)保持功能。

說明:因為http是無狀態(tài)的,客戶端請求一次頁面后,就結束了,當再次訪問時,服務器端并不知道瀏覽器此訪問過什么。所以這樣就需要狀態(tài)保持功能,狀態(tài)保存有兩種方式:session和cookie都能實現(xiàn)狀態(tài)保持。

狀態(tài)保持

  • http協(xié)議是無狀態(tài)的:每次請求都是一次新的請求,不會記得之前通信的狀態(tài)
  • 客戶端與服務器端的一次通信,就是一次會話
  • 實現(xiàn)狀態(tài)保持的方式:在客戶端或服務器端存儲與會話有關的數據
  • 存儲方式包括cookie、session,會話一般指session對象
  • 使用cookie,所有數據存儲在客戶端,注意不要存儲敏感信息
  • 推薦使用sesison方式,所有數據存儲在服務器端,在客戶端cookie中存儲session_id
  • 狀態(tài)保持的目的是在一段時間內跟蹤請求者的狀態(tài),可以實現(xiàn)跨頁面訪問當前請求者的數據
  • 注意:不同的請求者之間不會共享這個數據,與請求者一一對應

啟動web服務:

cd py3/django-test1/test3
python manage.py runserver 192.168.255.70:8000

修改數據庫類型:

vim test3/settings.py

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'test2',
    'USER':'root',
    'PASSWORD':'root',
    'HOST':'192.168.255.70',
    'PORT':'3306',
  }
}

如果該數據庫test2此前沒有創(chuàng)建過表,需要進行2步遷移:

第一步:生成遷移:

python manage.py makemigrations

第二步:執(zhí)行遷移:

python manage.py migrate

本次使用的test2表,此前進行過遷移了,因此這2步遷移省略了。

編輯視圖函數:

cd py3/django-test1/test3
vim booktest/views.py

from django.shortcuts import render, redirect
from django.http import HttpResponse, HttpResponseRedirect

def session1(request):
#  uname = request.session['myname'] 
  uname = request.session.get('myname','no login')
  context = {"username":uname}
  return render(request,'booktest/session1.html',context)
def session2(request):
  return render(request,'booktest/session2.html')
def session2_handle(request):
  uname = request.POST['uname']
  request.session['myname'] = uname
  #關閉瀏覽器session就過期
    #request.session.set_expiry(0)
  return redirect('/booktest/session1/')
def session3(request):
  del request.session['myname']
  return redirect('/booktest/session1/')

編輯應用url路由:

vim booktest/urls.py


from django.conf.urls import url
from . import views
urlpatterns = [
  url(r'^session1/$',views.session1),
  url(r'^session2/$',views.session2),
  url(r'^session2_handle/$',views.session2_handle),
  url(r'^session3/$',views.session3),
]

編輯html模板文件:

session1.html文件:

vim templates/booktest/session1.html

<!DOCTYPE html>
<html>
<head>
  <title>登錄</title>
</head>
<body>
您好:{{ username }}

<br>
<a href="/booktest/session2/" rel="external nofollow" >login</a>
</br>
<a href="/booktest/session3/" rel="external nofollow" >exit</a>
</body>
</html>

session2.html文件:

vim templates/booktest/session2.html

<!DOCTYPE html>
<html>
<head>
  <title>登錄</title>
</head>
<body>
<form method="post" action="/booktest/session2_handle/">
  <input type="text" name="uname">
  <input type="submit" name="login">
</form>
</body>
</html>

瀏覽器訪問:http://192.168.255.70:8000/booktest/session1/

點擊login,填寫登錄信息,url變?yōu)?92.168.255.70:8000/booktest/session2:

點擊提交,顯示登錄的用戶名(此處省略了,從數據庫查詢是否有該用戶):

點擊exit,退出登錄,回到初始界面,url地址變?yōu)?92.168.255.70:8000/booktest/session1:

完成簡單的session保持功能,后續(xù)再添加判斷從數據庫中查詢是否存在用戶,且密碼是否正確,再顯示登錄成功。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python基礎教程之Filter使用方法

    python基礎教程之Filter使用方法

    這篇文章主要介紹了python基礎教程之Filter使用方法的相關資料,這里對Python Filter 進行了簡單實例詳解,需要的朋友可以參考下
    2017-01-01
  • 詳解python算法之冒泡排序

    詳解python算法之冒泡排序

    這篇文章主要介紹了詳解python算法之冒泡排序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Python輸入圓半徑,計算圓周長和面積的實現(xiàn)方式

    Python輸入圓半徑,計算圓周長和面積的實現(xiàn)方式

    這篇文章主要介紹了Python輸入圓半徑,計算圓周長和面積的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 使用Python的pygame庫繪制圖形示例詳解

    使用Python的pygame庫繪制圖形示例詳解

    這篇文章主要介紹了使用Python的Pygame庫繪制圖形的方法,Pygame是被設計用來寫游戲的python模塊集合,Pygame是在優(yōu)秀的SDL庫之上開發(fā)的功能性包,通常使用Pygame來開發(fā)具有全部特性的游戲和多媒體軟件,感興趣的朋友可以參考下
    2024-02-02
  • 使用Python爬蟲框架獲取HTML網頁中指定區(qū)域的數據

    使用Python爬蟲框架獲取HTML網頁中指定區(qū)域的數據

    在當今互聯(lián)網時代,數據已經成為了一種寶貴的資源,無論是進行市場分析、輿情監(jiān)控,還是進行學術研究,獲取網頁中的數據都是一個非常重要的步驟,Python提供了多種爬蟲框架來幫助我們高效地獲取網頁數據,本文將詳細介紹如何使用Python爬蟲框架來獲取HTML網頁中指定區(qū)域的數據
    2025-03-03
  • 吳恩達機器學習練習:神經網絡(反向傳播)

    吳恩達機器學習練習:神經網絡(反向傳播)

    這篇文章主要介紹了學習吳恩達機器學習中的一個練習:神經網絡(反向傳播),在這個練習中,你將實現(xiàn)反向傳播算法來學習神經網絡的參數,需要的朋友可以參考下
    2021-04-04
  • Python logging模塊學習筆記

    Python logging模塊學習筆記

    這篇文章主要介紹了Python logging模塊,logging模塊是在2.3新引進的功能,用來處理程序運行中的日志管理,本文詳細講解了該模塊的一些常用的類和模塊級函數,需要的朋友可以參考下
    2014-05-05
  • 利用python模擬實現(xiàn)POST請求提交圖片的方法

    利用python模擬實現(xiàn)POST請求提交圖片的方法

    最近在利用python做接口測試,其中有個上傳圖片的接口,在網上各種搜索,各種嘗試。下面這篇文章主要給大家介紹了關于利用python模擬實現(xiàn)POST請求提交圖片的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Tensorflow的常用矩陣生成方式

    Tensorflow的常用矩陣生成方式

    今天小編就為大家分享一篇Tensorflow的常用矩陣生成方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python常用圖像形態(tài)學操作詳解

    Python常用圖像形態(tài)學操作詳解

    這篇文章主要為大家詳細介紹幾個Python中常用的圖像形態(tài)學操作:腐蝕、膨脹、開閉運算、梯度運算、禮帽和黑帽,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-08-08

最新評論

绍兴县| 武鸣县| 肃南| 汨罗市| 都昌县| 石嘴山市| 凤翔县| 古蔺县| 滨海县| 额尔古纳市| 孝感市| 西城区| 贡觉县| 佳木斯市| 托克逊县| 甘南县| 隆昌县| 博客| 商河县| 玛曲县| 磐石市| 九台市| 绿春县| 梨树县| 东乌| 象山县| 南昌县| 团风县| 松桃| 依安县| 曲麻莱县| 霍林郭勒市| 东安县| 罗源县| 阿拉善右旗| 宝山区| 白山市| 普定县| 怀远县| 河津市| 濮阳县|