Python之模板继承 and http综合

1.模板的继承
模板继承语法:

    1.如何继承某个模板?
            {%  extends   ''模板名称"  %}
    2.如何深挖和填坑?
      深挖:
         {%  block   名称 %}
             默认值
         {%  endblock   %}
    3.如何调用/继承被替代的模板?
       挖坑:
       {% block  名称   %}
             默认值
       {% endblock %}
       填坑:
          { % block  名称  % }
          #如何继承挖坑的的默认值
                {{  super () }}
          #后面写新加的方法
          。。。。
          {{ endblock  %}

Python之模板继承 and http综合

Python之模板继承 and http综合

2.常见http方法之get和post
1. 常见HTTP请求方法:
GET: 1). 获取信息 2). 提交的信息会展示在url: http://www.wewtos.org/login?user=westos&passwd=westos
POST:1). 提交信息, 不在url里面展示, 有利于数据的安全性;

2.默认路由接受的请求方法为__get__?
如何指定接收多个HTTP请求的方法?
@app.route(’/login/’,methods=[‘GET’,‘POST’] )
视图函数:def login( ):
3. 如何判断用户请求的HTTP方法? request.method
如何获取用户POST请求提交的表单数据? request.form[‘user’]
4.模板渲染(jinja2):
why?

    python中生成html不易修改与维护, 所以将html的内容独立到templates目录中;

how?

     1). 去当前项目目录下寻找templtes是否存在?再去判断templates目录下是否有login.html文件?
     2). 读取这个login.html文件的内容, 作为render_template的返回值;
     3). 最终返回给用户浏览器;
render_template('login.html')  

5.重定向和错误
redirect
return render_template(‘login.html’, message=“用户名或者密码错误”)

代码如下
Python之模板继承 and http综合
首先设置本地路由,链接到index.html页面
设置login路由
Python之模板继承 and http综合
捕获异常,只要出现链接错误,就返回404.html页面内容
同时设置另一个路由

执行代码后,链接到本地路由出现的是index.htnl页面在浏览器中执行后的样子
Python之模板继承 and http综合
输入别的网址都会弹出404报错
下面是404.html页面内容及报错弹出框
Python之模板继承 and http综合
Python之模板继承 and http综合
这里index.html继承了base.html的内容
base.html页面内容即为index.html显示的内容
Python之模板继承 and http综合
同时在index.html页面我们设置了登陆选项如下
Python之模板继承 and http综合
所以在index页面中点击登陆,就会跳转到/login/路由上
login.html页面内容如下
Python之模板继承 and http综合
这里指定了当跳转到login路由时,选择的方法为’’ post ‘’,并显示登陆按钮和空格填写信息
该HTML页面在浏览器中执行并判断填写信息是否满足,当不满足时会被要求重新填写,并告诉错误,即代码中的返回login.html页面
Python之模板继承 and http综合
当登陆成功则会返回index页面

后面有一个新的路由
/user/加整形数
如果符合要求返回如下
Python之模板继承 and http综合
不符合会弹出错误框
Python之模板继承 and http综合