Flask Web模板中使用for循环解析出Rule数据并分行列出,且在主程序中必须将app.url_map作为参数传递给模版
时间: 2024-09-22 15:03:08 浏览: 32
在Flask Web应用中,如果你想在模板中使用`for`循环遍历`url_map`规则并按行显示,通常你会这样做:
首先,在视图函数中,获取`url_map`对象并将其传入模板上下文:
```python
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
rules = app.url_map.iter_rules()
context = {'rules': rules}
return render_template('template.html', **context)
if __name__ == '__main__':
app.run()
```
然后,在`template.html`模板文件中,你可以使用`{{ for rule in rules }}`结构来迭代规则,并通过`<br>`标签分隔每一行:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Flask URL Map Rules</title>
</head>
<body>
<h2>URL Map Rules:</h2>
{% for rule in rules %}
{{ rule.rule }}<br>
{% endfor %}
</body>
</html>
```
在这个例子中,每当`rule`变量改变时,就会渲染对应的一条URL规则。
阅读全文