一.web框架的作用
避免重复代码,将重复的部分进行封装。自己实现一个服务器的作用。
参数environ是字典类型的数据,里面存放客户端的http头信息。
url的路径但不包括网址=environ["PATH_INFO"]
eg:http://127.0.0.1/www/book path=/www/book
二.MVC与MTV,wgsi模块实现
MVC:M model 存放数据库的内容
V view 存放网页内容
C control 存放urls 映射的函数
MTV:M model存放数据库的内容
T temple 存放HTML网页内容
V view 吃饭urls映射的函数
三.各种文件的作用
manager.py程序的入口
mysite//项目名称 wsgi.py//是socket 文件 setting//配置文件 urls.py函数映射
blog//子项目 model.py//数据库文件 views.py//写函数
Temple//写HTML文件
from django.shortcuts import rander,Httprespnose import time times=time.time().now() def cur_time(request): //request相当于eniover 客服端的参数 return rander(request,"cur_time.html",{'abc':times})//abc是任意名称但再HTML文件的{{abc}}会替换成times的内容 //render 有渲染的效果,即会对传来的HTML文件,处理后用Httpesponse()的方式传过去
四.user例子
{% for i In user_list %} //user_list是后端发过来的列表,列表里的元素是字典 <tr> <td>{{ i.username}}</td> <td>{{ i.sex}}</td> <td>{{ i.age}}</td>//python中取字典的值是索引的方式,模板语言是 . 的方式 {% end for %} //HTML文件会先发给views文件对应的函数经过render()进行渲染,将模板语言中的内容解析后发给网页
五.model用来创建数据库
数据来源:www.cnblogs.com/yuanchenqi/articles/6083427.html
六.statics静态文件
该文件夹用来存放is,jq,网页的img文件
通过对setting文件的内容设置
STATIC_URL='/abc/' //用abc文件夹来代替ststics文件,即别名
STATICFILES=(
os.path.join(BASE_DIR,"ststics"),//设置存放的位置,是物理路径
)
七.urls中的参数别名
1.匿名参数 根据分组的顺序,给对应的函数添加形参,形参的位置与分组相关
2.实名参数 (?p<分组名>pattern)此时形参名就是分组名,形参与位置无关
3.re.group(分组名)方式反向调用分组的内容
4.匹配的urls的别名 给前端使用
URLPATTER={
url(r"^index",view.index,name='alex'), //alex是匹配出来的以index开头的url别名
}
5.模板语音调用别名
action={% url "alex" %}
6.经过render()渲染后的前端网页 ,必须是HTML,css is 语言,不能是模板语言
action为空默认以该网页处理表单
十.几个重要函数
render (request,“要返回的html语句,或文件”)
render_to_request("要返回html语句,文件")
redicect("要跳转的url地址,会走逻辑思维")//要走逻辑路径先找url然后执行后台,render仅仅返回html内容。
十一.,temple与content
HTML就是temple模板,后面的参数就是content
用content去渲染temple
十二.模板语言
1.{{ 变量 }}
2. 获取变量的内容 用.
3.{% if False %}
.......
{% elif obj %}
.....
{% endif%}
4.filter过滤器 {{ obj|函数名:参数 }}
对字符串进行解析,obj | safe
十三.自定义函数和filter
函数调用:{% 函数名 参数1 参数2.....% } filter: {{ 变量名| filter名:参数二 }}仅仅两个参数,但是if条件可以用,函数不能用在if上。
参考: www.cnblogs.com/yuanchenqi/articles/6083427.html