django基础知识


django--MTV模型(M-->Modals,T-->Templates,V--->视图)
一次用户发请求的完整的流程(MTV):
用户发请求--->URL控制器--->视图--->Modals(数据库拿数据)--->返回给视图--->template母版渲染文件-->返回给用户

Modals 从数据库拿数据要经过的模块

render(request,templates对象,content对象(上下文对象))
页面渲染是在render的时候渲染的

render-->用户发送请求,服务端接收请求,返回渲染好的HTML文件
redirect-->用户发送post请求,服务端收到请求,回给一个重定向的请求,客户端拿到冲顶系那个的请求在发送一次请求,服务端回给客户端一个渲染好的页面

一个请求的处理过程:用户发请求-->wsgi--->路由-->视图函数--->wsgi--->发回客户端

{% csrf_token %}



URL配置
url文件中的url匹配的只是url的路径部分,不匹配域名和参数
url默认会传request参数,所以对应的函数一定要接收

{% url "别名" %} -->反向解析
匹配的是url文件中url :url(r'^url/', views.函数,参数,name="别名")中的别名

url(r'^url/2004/$', views.函数,参数,name="别名")
^ 匹配的是以后面的内容为开始的内容
$ 是结束的标识

url(r'^url/\d{4}/$', views.函数,参数,name="别名")
只匹配四个数字

url(r'^url/(\d{4})/(\d{2})/$', views.函数,参数,name="别名")
加(\{4}d)是无名分组,位置传参,匹配成功后,会作为参数传递到对应的函数中,函数中的要接收

url(r'^url/(?p<y>\d{4})/(?p<m>\d{2})/$', views.函数,参数,name="别名")
有名分组,关键字传参,接收参数的时候名字必须和url里的名字一样

路由分发:
app文件下的
url(r'^app/',include('app.urls')) # 访问的时候要加上app


views
request是wsgi封装的,存放的是所有请求的内容
request.body ---> 存放的是所有的请求的内容,串
request.POST/GET --->字典形式
request.encoding --->编码格式

request.user --->当前登陆的用户

request.path --->请求url的路径部分
request.path_info --->请求url的路径部分
request.get_full_path() --->请求url的路径部分,带参数
request.get_host() --->请求url的主机

request.is_ajax() --->判断是否是ajax请求


ajax:异步,局部刷新


模板:
渲染变量{{}}
深度查询 句点符.(可以取索引,方法(不加括号,只能取不加参数的函数),属性,key,)

 
posted @ 2017-12-05 15:47  chitalu  阅读(68)  评论(0)    收藏  举报