日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python:django应用问题汇总

發布時間:2025/3/20 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python:django应用问题汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.django HttpResponse對象
HttpResponse對象
概述:
作用:給瀏覽器返回數據
HttpRequest對象是由Django創建的,HttpResponse對象是由程序員創建
用法:
不用模板,直接返回數據
語句示例:return HttpResponse(“Sunck is a good man”)
調用模板
使用render方法
原型:render(request, templateName[, context])
作用:結合數據和模板,返回一個完整的HTML頁面
參數:
request:請求體對象
templateName:模板路徑
context:傳遞給需要渲染在模板上的數據
屬性
content:表示返回內容
charset:編碼格式
status_code:響應狀態碼
200
304
404
400
content-type:指定輸出的MIME類型
方法
init:使用頁面內容實例化HttpResponse對象
write(content):以文件的形式寫入
flush():以文件的形式輸出緩沖區
set_cookie(key, value, maxAge=None, exprise=None)
delete_cookie(key):
刪除cookie
如果刪除一個不存在的cookie,就當什么都沒發生
子類HttpResponseRedirect
功能:重定向,服務器端的跳轉
簡寫
redirect(to)
to推薦使用反向解析
示例:
from django.http import HttpResponseRedirect
from django.shortcuts import redirect
def redirect1(request):
# return HttpResponseRedirect(’/redirect2’)
return redirect(’/redirect2’)
def redirect2(request):
return HttpResponse(“我是重定向后的視圖”)
子類JsonResponse
返回Json數據,一般用于異步請求
init(self.data)
data 字典
注意:Content-type類型為application/json
狀態保持
http協議是無狀態的,每次請求都是一次新的請求,它不記得之前的請求。
客戶端與服務器的一次通信就是一次會話
實現狀態的保持,在客戶端或服務端存儲有關會話的數據
存儲的方式
cookie:所有數據存儲在客戶端,不要存儲敏感的數據
session:所有的數據存儲在服務端,在客戶端用cookie存儲session_id
狀態保持的目的:
在一段時間內跟蹤請求者的狀態,可以實現跨頁面訪問當前的請求者的數據
注意:不同的請求者之間不會共享這個數據,與請求者一一對應
啟用session:project\project\settings.py
INSTALLED_APPS ‘django.contrib.sessions’,
MIDDLEWARE ‘django.contrib.sessions.middleware.SessionMiddleware’,
使用session
啟用session后,每個httpRequest對象都有一個session屬性
get[key, default=None] 根據鍵獲取session值
clear() 清空所有會話
flush() 刪除當前會話并刪除會話的cookie
示例:
# session
def main(request):
# 取session
username = request.session.get(‘name’, ‘游客’)
print(username)
return render(request, ‘myApp/main.html’, {‘username’: username})

def login(request):return render(request, 'myApp/login.html')def showmain(request):print("*****************")username = request.POST.get('username')# 存儲sessionrequest.session['name'] = usernamereturn redirect('/main/')from django.contrib.auth import logoutdef quit(request):# 清除sessionlogout(request) # 方法1,推薦# request.session.clear() # 方法2request.session.flush() # 方法3return redirect('/main/')設置session過期時間set_expiry(value)request.session.set_expiry(10) 設置為10秒后過期如果不設置,2個星期后過期value設置為0代表關閉瀏覽器時過期value設置為None代表設置永不過期,不推薦

總結

以上是生活随笔為你收集整理的python:django应用问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。