这篇文章用于记录Django视图相关知识,发现有需要补充的会随时添加
仅用于记录,以后方便自己查阅,至于大家能不能看懂,我觉得随缘就行。
一、错误视图
Django中有几个错误视图,分别为:
404(page not found),500(server error),400(bad request)
下面我们以404为例,简单说下
404(page not found)视图
未匹配到URLconf中的正则表达的请求地址,会显示出404,就像这样的
调试模式下:
正式模式下:
这样的页面,我看到了我只能说,我是一脸闷逼,为了能够更好的展示404页面,我们可以修改Django有个默认视图来进行展示。
1.新建404视图
在template中新建404.html(注意这里404.html是建立在template目录下,而不是template\应用名称\ 的目录下的,这样做是为了兼容所有未找到页面的情况),如下图:
2.编辑404视图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
{
{ request_path }}
<h1>未找到相关页面</h1>
</body>
</html>
3.切换成正式模式
在项目文件中的setting文件中找到DEBUG改为False,ALLOWED_HOSTS = [“*”](表示所有主机都可以访问)
4.访问
当然
接下来就需要我们利用自己的HTML能力去编写对应的页面了
500和400错误都按照这个流程修改就可以。
二、HttpRequest
1、HttpRequest对象
属性:
path:表示请求的完整路径,不包括域名
method:Http请求的方式,常用的包括GET、POST
GET提交方式,提交的参数暴露在URL中
POST提交方式,表单提交,无法在URL中看到提交的参数
encoding:提交的数据编码方式,一般默认为 utf-8,可写属性
GET:QueryDict对象,包含get请求方式的所有参数
POST:QueryDict对象,包含post请求方式的所有参数
FILES:QueryDict对象,包含所有上传的文件
COOKIES:python字典对象,包含所有cookie
session:可写类字典对象,表示当前会话
方法:
is_ajax():如果请求是通过XMLHttpRequest发起的,则返回Ture
2、QueryDict对象
类字典对象,可以处理一键多值的情况
方法:
get():通过键获取值,只能获取一个值,若此键有多值,则获取最后一个值
dict.get('键',default) 若没找到则返回default
或者
dict['键']
getlist():根据键获取该键对应的所有值