使用url_for()在Flask中创builddynamicURL

我的Flask路线的一半需要一个variables说, /<variable>/add/<variable>/remove 。 如何创build指向这些位置的链接?

url_for()需要一个参数的函数路由到,但我不能添加参数?

它接受variables的关键字参数:

 url_for('add', variable=foo) 

请参考flask.url_for()的Flask API文档

下面是用于将js或css链接到您的模板的其他示例片段。

 <script src="{{ url_for('static', filename='jquery.min.js') }}"></script> <link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}"> 

Flask中的url_for用于创build一个URL,以防止必须在整个应用程序(包括模板)中更改URL的开销。 如果没有url_for ,如果您的应用的根url发生变化,那么您必须在链接所在的每个页面中更改它。

语法: url_for('name of the function of the route','parameters (if required)')

它可以用作:

 @app.route('/index') @app.route('/') def index(): return 'you are in the index page' 

现在如果你有一个链接索引页面:你可以使用这个:

 <a href={{ url_for('index') }}>Index</a> 

你可以做很多东西,例如:

 @app.route('/questions/<int:question_id>'): #int has been used as a filter that only integer will be passed in the url otherwise it will give a 404 error def find_question(question_id): return ('you asked for question{0}'.format(question_id)) 

对于以上我们可以使用:

 <a href = {{ url_for(find_question,question_id=1) }}>Question 1</a> 

像这样,你可以简单地传递参数!