深圳龙岗区宝龙街道,百度seo价格查询,wordpress网站如何播放视频播放器,黄骅做网站_黄骅昊信科技|黄骅网站|黄骅网站开发|黄骅微信|黄骅一、request对象
1、简介
服务器接收到http协议的请求后#xff0c;会根据报文创建HttpRequest对象#xff0c;这个对象不需要我们创建#xff0c;直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象#xff0c;在django.http模块中定义了HttpReq…一、request对象
1、简介
服务器接收到http协议的请求后会根据报文创建HttpRequest对象这个对象不需要我们创建直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象在django.http模块中定义了HttpRequest对象的API。 psget请求携带的数据是有大小限制的大概好像只有4KB左右而post请求没有限制 2、form表单提交GET请求
1前端
form表单中action属性不写默认是当前路由地址form表单中的method属性不写默认是GET请求
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
form action methodgetpusername : input typetext nameusername/pppassword : input typepassword namepassword/ppinput typesubmit/p
/form
/body
/html2后端
app01/views.py
from django.shortcuts import renderdef register(request):return render(request, register.html)urls
from django.contrib import admin
from django.urls import path
from app01 import viewsurlpatterns [path(admin/, admin.site.urls),path(register/, views.register)
]前端路由地址访问 http://127.0.0.1:8000/register
3、form表单提交POST请求
1前端 !DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
form action methodpostpusername : input typetext nameusername/pppassword : input typepassword namepassword/ppinput typesubmit/p
/form
/body
/html2后端
from django.shortcuts import renderdef register(request):return render(request, register.html)3POST请求报错
当前端form表单发送POST请求时会报一个错导致后端崩溃
Forbidden (403)
CSRF verification failed. Request aborted.You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.If you have configured your browser to disable cookies, please re-enable them, at least for this site, or for “same-origin” requests.4解决办法
将settings.py文件中的配置注释掉在后面的学习中我们会逐步的解决掉这个问题
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,
]二、request对象属性和方法
在Django中请求对象HttpRequest对象是Django视图函数的一个重要参数它包含了关于HTTP请求的各种信息。通过请求对象您可以访问请求中的各种数据如GET和POST参数、请求头、COOKIES、用户信息等。以下是一些常用的HttpRequest对象的属性和方法
1、request对象属性
request.GET一个类似字典的对象可以通过键名来获取对应的值。request.POST它也是一个类似字典的对象request.method返回HTTP请求的方法比如GET、POST等并且是全大写的字符串形式。request.path表示请求的路径部分不包括域名和查询参数。request.user表示当前用户的对象如果用户已经通过身份验证。request.META包含有关请求的元数据的字典如请求头信息、IP地址等。request.headers属性表示请求头部信息是一个类似字典的对象。request.COOKIES属性表示请求中的Cookie信息.request.session属性表示当前会话的信息.
2、request对象方法
request.GET.get(key, defaultNone)获取GET参数中指定键的值只获取列表最后一个元素。request.GET.getlist() 直接将列表取出request.POST.get(key, defaultNone)获取POST参数中指定键的值只获取列表最后一个元素。request.POST.getlist() 直接将列表取出request.COOKIES.get(key, defaultNone)获取COOKIES中指定键的值。request.is_secure()如果请求通过HTTPS则返回True。request.is_ajax()如果请求是通过Ajax发送的则返回True。get_full_path()方法返回完整的请求路径包括域名、路径和查询参数。build_absolute_uri()方法根据当前请求构建一个完整的URL。
在Django视图函数中通常会将请求对象作为第一个参数传递例如
from django.http import HttpResponsedef my_view(request):# 访问请求对象的属性和方法if request.method GET:# 处理GET请求return HttpResponse(This is a GET request)elif request.method POST:# 处理POST请求return HttpResponse(This is a POST request)通过访问请求对象的属性和方法您可以根据请求中的信息来动态生成响应实现不同的业务逻辑和交互。