Django(part10)--POST请求
生活随笔
收集整理的這篇文章主要介紹了
Django(part10)--POST请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考
文章目錄
- POST請求
- POST傳遞參數的獲取
- 舉個例子
- 取消CSRF驗證
POST請求
POST傳遞參數的獲取
- 客戶端通過表單等POST請求將數據傳遞給服務器端
注意!在上面的例子中,參數action所對應的路徑為提交表單的地址,它是一個相對路徑,是相對于當前服務器所在地址的路徑 。這里,提交表單的絕對路徑是http://127.0.0.1:8000/post_test/
- 服務器端接收參數
- 通過request.method來判斷是否為POST請求
- 使用POST方式接收客戶端數據
舉個例子
views.py
def post_test(request):html = """<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>兔兔提交</title></head><body><form method="POST" action="/post_test/">兔兔姓名:<input name="bunnyname" type="text"><br>兔兔年齡:<input name="bunnyage" type="text"><br><input type="submit"></form></body></html>"""if request.method == "GET":return HttpResponse(html)elif request.method == "POST":bunnyname = request.POST['bunnyname']bunnyage = request.POST['bunnyage']postHtml = "您的姓名為" + bunnyname + ",年齡為" + bunnyagereturn HttpResponse(postHtml)else:return HttpResponse("其他方式")urls.py
urlpatterns = [path('admin/', admin.site.urls),re_path(r'post_test/$', views.post_test),]向http://127.0.0.1:8000/post_test/發起請求:
輸入要POST的信息:
點擊提交,出現403錯誤:
我們看到CSRF驗證失敗,請求被中斷,這時,我們需要取消CSRF驗證,這樣Django才不會拒絕客戶端發來的表求。
那么,該如何取消CSRF驗證呢?
取消CSRF驗證
我們可以注釋掉settings.py文件里MIDDLEWARE列表中的 CsrfViewMiddleware中間件:
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',#'django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware', ]我們再次訪問http://127.0.0.1:8000/post_test/,輸入數據,并提交:
成功啦!
總結
以上是生活随笔為你收集整理的Django(part10)--POST请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django(part9)--GET请求
- 下一篇: 挖孔屏是什么意思(什么叫做挖孔屏)