擅长:python、mysql、java
<p>有一个问题有两个可能的解决方案。或者:</p>
<ol>
<li>让<code>route[func]</code>直接引用函数,而不是字符串。在这种情况下,您不必为<code>app.view_functions</code>分配任何内容。</li>
</ol>
<p>或:</p>
<ol start=“2”>
<li><p>去掉<code>app.add_url_rule</code>的第三个参数,并为<code>app.view_functions[route["page"]]</code>分配一个函数。守则</p>
<pre><code>return render_template("index.html")
</code></pre>
<p>不是函数。试试像这样的</p>
<pre><code>def my_func():
return render_template("index.html")
# ...
app.view_functions[route["page"]] = my_func
</code></pre></li>
</ol>
<p>我推荐第一种选择。</p>
<p>来源:<a href="http://flask.pocoo.org/docs/0.11/api/#flask.Flask.add_url_rule" rel="noreferrer">the docs</a>。</p>
<hr/>
<h3>替代方案:</h3>
<p>在URL中使用变量部分。像这样的:</p>
<pre><code>@app.route('/<page>')
def index(page):
if page=='about':
return render_template('about.html') # for example
else:
some_value = do_something_with_page(page) # for example
return render_template('index.html', my_param=some_value)
</code></pre>