HttpResponse(content=b"",content_type=None,status=None,charset=None)
content : 响应的正文内容,可以是一个字符串,也可以是一个数据流
content_type:设置响应的类型,默认是text/html
status : 设置响应的状态码,默认是200
charset : 设置想的的编码格式,默认是 utf-8
200 : 正常响应
201 : 正常响应,代表数据的新增
204 : 正常响应,代表数据被删除
301 : 永久重定向
302 : 临时重定向
304 : 浏览器缓存
400 : 请求参数不合法
401 : 认证失败
403 : 禁止访问
404 : 页面找不到
405 : 请求方式不正确
406 : 请求格式不正确
500 : 服务器内部错误,程序报错
502 : 网关错误
from django.shortcuts import render
render(request, template_name, context=None, content_type=None, status=None)
1.在项目的跟新新建一个 templates 文件夹 (名字不是固定的,但是是约定俗成的)
2.在settings.py
中,设置 模板
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
from django.stortcuts import redirect
redirect(to,*args,permanent=False,**kwargs)
1. to : 设置路由的地址
直接使用路由的地址,以 / 开头
使用路由的名称,方便给动态路由设置参数
2. args : 设置路由需要的参数
3. permanent : 是否采用永久重定向
4. kwargs : 设置路由需要的参数,字典格式
ps: redirect(重定向): 当用户发送一个请求,后台处理数据后,使用redirect
会向浏览器返回一个 302/301 的状态码,且 响应的头信息中,包含 Content-length=0
和 Location,浏览器检测到 响应的状态码为 302/301,且包含 location,则浏览器会自动发送
一个请求,且请求地址为localtion对应的值
render : 只能跳转到模板,且在跳转到模板的时候可以传值,是一次请求
redirect : 重定向到路由中,不能携带数据到模板,
{% csrt_token %}
标签@csrf_exempt
装饰器django.middleware.csrf