Flask框架基础 
这篇文章给我写的很难受,以为文中提到的代码例子跟博客的渲染器有冲突,改了半天……
开始 1 2 3 4 flaskProject   ├─static   ├─templates   ├─app.py 
    用 Pycharm   新建一个Flask项目,在生成的文件中,会自动生成如上目录和app.py文件,该文件内容默认为:
1 2 3 4 5 6 7 8 9 10 11 12 13 from  flask import  Flask,render_template,requestapp = Flask(__name__) @app.route('/')  #路由 def  hello_world () :    return  'Hello World'  if  __name__ == '__main__' :    app.run() 
    该文件就是最简单的Flask项目了,运行,默认在127.0.0.1:5000
    目录中templates用于存放需要渲染的网页,渲染网页需要导入 render_template,static用于存放css、js等资源文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from  flask import  Flask,render_template,requestapp = Flask(__name__) @app.route('/') def  hello_world () :    return  'Hello World'  if  __name__ == '__main__' :    app.run() 
传入参数 传入字符串     当我们有 用户访问127.0.0.1/user/xxx,服务器进行响应时:
1 2 3 4 @app.route('/user/<text>') def  welcome (name) :	return  'welcome%d' %name 
传入整型     当我们有 用户访问127.0.0.1/id/00001,服务器进行响应时:(当然也有浮点型:<float:xxx>)
1 2 3 4 @app.route('/user/<int:userid>') def  welcome2 (userid) :	return  'welcome%s' %userid 
传入变量:普通变量、列表、字典     通过flask向网页传递参数例子如下:
1 2 3 4 5 6 @app.route('/') def  index () :    title='我是网页标题'      list=['赵' ,'钱' ,'孙' ,'李' ]     return  render_template("index.html" ,list=list,title=title)      
    这里我们传入了 字符串 title 和 列表list,那么在网页中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <!DOCTYPE html > <html  lang ="zh_CN" > <head >     <meta  charset ="UTF-8" >      <title > {{ title }}</title >      <h3 > Flask学习</h3 >      成员:<br />      {% for name in list %}     <li > {{ name }}</li >      {% endfor %} </head > <body > </body > </html > 
    还可传入字典dic={'username':'admin','password':'123456'}
    在html中调用:
1 2 3 4 5 6 7 ...... { % for key,values in result.items() %} {{ user }} {{ pass }} <br> {%endfor%} ...... 
表单提交     POST或GET
1 2 3 4 @app.route("/login") def  login () :    return  render_template("/login.html" ) 
login.html:action中的url_for('loginre')是自动获取路径下的/loginre 
1 2 3 4 5 6 7 ...... 	<form  method ="post"  action ="{{ url_for('loginre') }}" >          <p > 账号:<input  type ="text"  name ="username" > </p >          <p > 密码:<input  type ="text"  name ="password" > </p >          <p > <input  type ="submit"  value ="登录" > </p >      </form >  ...... 
loginre : 注意其中的 ** methods=[‘POST’,’GET’] , 并使用 request**
1 2 3 4 5 6 @app.route("/loginre" ,methods=['POST','GET']) def  loginre () :    if  request.method=='POST' :         result=request.form         return  render_template("/loginre.html" ,result=result) 
 loginre.html:
1 2 3 4 5 6 7 8 {% for un,pw in result.items() %} <table  border ="1" >     <tr >          <td > {{ un }}</td >          <td > {{ pw }}</td >      </tr >  </table > {% endfor%}