Web框架

一.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

原文地址:https://www.cnblogs.com/gjx1212/p/13069752.html