下面是Python Flask框架中@app.route
的用法教程攻略及示例说明。
什么是@app.route
@app.route
是一个装饰器,它用来注册一个网页的URL路径,每次当用户发送请求到该URL时,相应的函数就会被执行。这个装饰器通常用于Flask中的视图函数。
@app.route
所装饰的函数将会作为视图函数,当访问被装饰的URL路径时,将触发该函数,并返回对应的页面或相应的数据。视图函数通过Flask提供的render_template()
、jsonify()
等函数来生成响应,实现返回渲染模板或JSON数据的效果。
@app.route
的用法
在Flask中使用@app.route
的语法格式如下:
@app.route('/url_path')
def view_func():
return 'response'
其中,url_path
是一个字符串,代表URL的路径。view_func
是视图函数,它将被执行,当一个请求被发向url_path
时。
如果想要在URL中添加参数,可以在url_path
字符串中使用<variable>
的形式:
@app.route('/users/<username>')
def profile(username):
return 'Username: %s' % username
在上面的示例中,username
将作为参数传递给视图函数profile()
。
示例
下面是两个使用@app.route
的示例:
示例1:网页渲染
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello World!'
@app.route('/about')
def about():
return render_template('about.html')
这是一个简单的网页渲染示例,当用户访问/
路径时,视图函数home()
将返回一个字符串'Hello World!'
,生成一个简单的HTML页面。当用户访问/about
路径时,视图函数about()
将会渲染一个名为about.html
的模板,生成对应的HTML页面。
示例2:返回JSON数据
from flask import Flask, jsonify
app = Flask(__name__)
books = [
{
'title': 'Flask Web Development',
'author': 'Miguel Grinberg',
'id': 1
},
{
'title': 'Python Crash Course',
'author': 'Eric Matthes',
'id': 2
}
]
@app.route('/books')
def get_books():
return jsonify(books)
这个示例是返回JSON数据。当用户访问/books
路径时,视图函数get_books()
将会返回一个列表类型的books
变量的所有数据,通过Flask提供的jsonify()
函数,将数据转换为JSON格式的字符串并返回。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python的Flask框架中@app.route的用法教程 - Python技术站