Python之Flask Web开发

时间:2022-04-02 09:45:59

下载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 的消息提示与异常处理