Django基础知识(一)

2019-05-21  本文已影响0人  测试小懒

前言

前面已经将Django整个项目创建的流程梳理,在Django学习中的一些重要需掌握知识如下。

1、语法

在项目运行过程中遇到CSRF跨站请求伪造的问题,这个是Django正对CSRF的保护措施(每个表单设置一个自动生成的令牌,通过这个令牌判断POST请求是否来自同一个网站)

解决方案,是在表单页面加上{% csrf_token %},重新提交表单错误就消失了。还可忽略这个错误的检查,只需在settings.py 文件中注释掉 csrf

2、配置URL

(1)在配置URL中需要使用到正则表达式,url匹配正则的注意事项

①想从url中获取一个值,需要对正则加小括号

②匹配正则,前方不需要加/

③正则需要加r,表示字符串不可转义

(2)引入其他url配置

除了直接引用项目中的URL,还可引入应用其他url配置;在应用中创建urls.py文件,在此文件中定义url配置,在工程urls.py文件中使用include()方法

from django.conf.urlsimport url,include

3、定义视图

(1)视图接受web请求,并响应web请求;视图就是python中的一种函数

(2)响应内容包含json数据和网页两种,网页返回又分为重定向和一些错误视图(404错误request__path导致错误的网址、400错误出现在客户的操作、500在视图代码中出现错误(服务器代码))

(3)响应过程:

用户在浏览器输入网址->Django获取网址信息,去除ip和端口->URL管理器,逐个匹配urlconfig,记录视图函数名->视图管理器,找到对应的视图去执行,返回结果给浏览器

(4)HttpRequest对象

服务器接收http请求后,会根据报文创建httprequest对象,并传递给视图的第一个参数;HttpRequest对象是Django创建的,创建后调用视图时传递给视图。

(5)HttpRequest对象的属性

(6)QuertDict对象

request对象中的get、post方法都属于QuertDict对象。

get()方法:通过键获取值,只能获取一个值

getlist()方法:将键的值以列表的形式返回,可以获取多个值

上一篇下一篇

猜你喜欢

热点阅读