Home >Backend Development >Python Tutorial >Detailed explanation of flask-one examples

Detailed explanation of flask-one examples

零下一度
零下一度Original
2017-06-30 13:23:071479browse

Installation:

1 pip install Flask
Start the first script:
python hello.py
Access address: http://127.0.0.1 :5000
The script is as follows:
1 from flask import Flask2 app = Flask(__name__)3 4 @app.route('/') #路由指定5 def hello_world():6     return 'Hello worlds summerkxy'7 if __name__ == '__main__':  #只有在本例使用的时候才会启动应用,包含该文件的话,不启动应用8     app.debug = True #开启调试模式9     app.run()

where app.debug = True turns on debugging mode, you can also use app.run(debug=True) to add parameters; advantage: there is no need to restart the application after modifying the program.
This is the simplest application.
 1 from flask import Flask 2 app = Flask(__name__) 3  4 #第一个路由 5 @app.route('/') 6 def hello_world(): 7     return 'Hello worlds summerkxy' 8  9 #第二个路由10 @app.route('/summerkxy')11 def summer():  #函数名随意,不可与自带函数名冲突;12     return "Hello summerkxy"13 if __name__ == '__main__':14     app.debug = True15     app.run()

URL with parameters

1 @app.route('/show/<username>')2 def show_user(username):3     return "show %s" % username

Multiple parameter passing:

1 @app.route('/show/<username>/<age>')2 def show_user(username,age):3     return "show "+username+" age:"+age
Parameters have types:
@app.route("/age/<int:age>")def show_age(age):return "show age %d" % age

There are three types of converters:

int float path
Integer type Can be integer or floating point Common type, with slashes

url uniqueness comparison :

1 @app.route("/about/")2 def show_about():3     return "about/"4 5 @app.route("/about")6 def show_about1():7     return "about"
In fact, only the first url will be matched
Construct url url_for() #Unknown
According to the request method, different functions are called to return different content:
 1 from flask import Flask,url_for #url_for暂时没用到 2 from flask import request 3 app = Flask(__name__) 4  5 @app.route("/") 6 def index(): 7     return "index" 8  9 @app.route('/login',methods=['GET','POST']) #首先会根据methods列表中的元素判断,如果没有找到就报错405方法不允许;10 def login():11     if request.method == 'POST':12         return do_the_login()13     else:14         return show_the_login_form()15 def do_the_login():16     return "post"17 def show_the_login_form():18     return "else method"19 20 if __name__ == '__main__':21     app.debug = True22     app.run()

Introduction Static css, js files

1 @app.route("/hello")2 def hello():3     cssurl = url_for('static', filename='style.css')4     return render_template("hello.html",age=cssurl)5 .html文件中6 <link type="text/css" rel="stylesheet" href="{{ age }}">7 <h1>{{ age }}</h1>
Problem: A single url returns a style, which is meaningless. How to pass multiple values
Just use list/dist
Pass parameters to the template file:
1 @app.route("/hello")2 def hello(name='summerkxy'):3     return render_template("hello.html",age=name)#变量名age就是传递到模版文件中的4 .html文件5 <h1>hello {{ name }}</h1>

The above is the detailed content of Detailed explanation of flask-one examples. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn