Django-视图函数
视图函数必须至少提供一个参数,代表request
视图函数必须返回HttpResponse对象
Django中的响应方式
-
HttpResponse:用来响应一个简单的字符串或者流
-
render函数:主要用于跳转到模板页面
from django.shortcuts import render
render(request, template_name, context=None, content_type= None, status=None)
'''
request:每一个视图函数都使用
template_name:模板的名称,html页面的名字
context:向模板传递的数据,格式是一个字典
content_type:响应的类型 默认值是text/html;charset=utf-8
status:响应的状态码,默认是200
'''
- redirect:跳转到一个路由地址中
from django.shortcuts import redirect
redirect(to, *args, permanent=False)
'''
to:跳转到某一个请求地址(路由)中
permanent:默认是False,代表临时重定向,状态码是302
'''
- -FileResponse:专门用于文件下载的响应
- JsonResponse:返回json格式数据的响应对象
常见的参数如下
- content:响应的内容,可以使一个字符串,也可以是一个流
- content_type:响应的类型,默认值是text/html;charset=utf-8,常用于下载文件
- status:响应的状态码,默认值是200
- 200:OK 正常
- 201:Created 新增数据的时候使用
- 204:no content 删除数据的时候使用
- 301:永久性重定向
- 302:临时重定向
- 304:代表资源未修改 一般用于缓存 提高性能
- 400:Bad Request,代表请求参数不正确
- 403:Forbidden 禁止访问,代表访问的资源没有权限
- 404:Not found,代表请求的资源未找到
- 405:代表请求方式不正确
- 500:服务器内部错误,一般是编写的代码出错
- 502:服务器内部错误导致上层产生错误 - charset:设置编码
Django模板的配置
在项目的根下,新建一个templates 目录
右键templates --> make direstory as --> template folder(非必须)
在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',
],
},
},
]