Python之Flask Web开发
下载python包管理工具Pip:
访问网址:https://pip.pypa.io/en/stable/installing/ 下载文件get-pip.py到本地计算机
定位到get-pip.py所在的目录 运行命令:python get-pip.py即可安装pip 卸载命令:pip uninstall pip
定位到pip.exe所在目录(C:\Python27\Scripts) 运行命令:pip install flask即可安装flask
使用pip list命令可以查看已经安装好的python包
输出“Hello world”
flask官网:http://flask.pocoo.org/
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
改变路由
@app.route('/user') def hello_user(): return 'Hello user!'
访问:http://127.0.0.1:5000/user 结果:Hello user!
改变请求方式
@app.route('/user',methods=['post']) def hello_user(): return 'Hello user!'
访问:http://127.0.0.1:5000/user 结果:The method is not allowed for the requested URL.
传递参数
@app.route('/users/<id>') def user_id(id): return 'Hello user!'+id
访问:http://127.0.0.1:5000/users/34 结果:Hello user!34
首先引入 from flask import Flask,request @app.route('/query_user') def query_user(): id=request.args.get('id') return 'query_user:'+id
访问:http://127.0.0.1:5000/query_user?id=4 结果:query_user:4
反向路由
首先引入 from flask import Flask,request,url_for @app.route('/query_url') def query_url(): return 'query_url:'+url_for('query_user')
访问:http://127.0.0.1:5000/query_url 结果:query_url:/query_user
Jinja2模板引擎
https://github.com/mitsuhiko
Welcome to Jinja2:http://jinja.pocoo.org/docs/dev/
1.传递参数
from flask import Flask,render_template app = Flask(__name__) @app.route('/') def hello_world(): return render_template("Index.html",content="Hello") if __name__ == '__main__': app.run()
2.传递对象
#创建models class User(object): def __init__(self,user_id,user_name): self.user_id=user_id self.user_name=user_name #创建模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <h1>hello {{ user.user_name }}</h1> </head> <body> </body> </html> #自定义路由 from flask import Flask,render_template from models import User app = Flask(__name__) @app.route('/user') def user_index(): user=User(1,"cnki") return render_template("user_index.html",user=user) if __name__ == '__main__': app.run()
3.if判断
4.for循环
<title>{% block title %}{% endblock %}</title> <ul> {% for user in users %} <li><a href="{{ user.url }}">{{ user.username }}</a></li> {% endfor %} </ul>
5.模板继承
6.Flask 的消息提示与异常处理