Flask的url_for函数未在HTML代码内插值

时间:2018-08-31 11:09:42

标签: python flask

@app.route( '/log=<page>' )
def log( page ):
....
....
# add counter to html template and start rendering
counter = '''<center>
            <table bgcolor=black bordercolor=orangered>
                <td><font size=3 color=lime> Αριθμός Επισκεπτών     </font></td>
                <td><a href="http://superhost.gr/log=%s">       <font size=3 color=plum> %d </font></a></td>
            </table>
        ''' % (page, pagehit)

为什么上面的代码不能如下编写。它不会被插值。

# add counter to html template and start rendering
counter = '''<center>
            <table bgcolor=black bordercolor=orangered>
                <td><font size=3 color=lime> Αριθμός Επισκεπτών     </font></td>
                <td><a href="<a href="{{ url_for('/log', page='%s' }}">">   <font size=3 color=plum> %d </font></a></td>
            </table>
        ''' % (page, pagehit)    

另外,当我尝试使用内联语句来避免for块时,我得到了一个错误。它应该起作用。

name = nikos if (5>3)

1 个答案:

答案 0 :(得分:0)

您可以将变量传递给模板,并在模板中放入{{url_for,然后渲染引擎将处理该IIRC(推荐)

或者您可以像这样评估它:

counter = '''<center>
            <table bgcolor=black     bordercolor=orangered>
                <td><font size=3 color=lime> Αριθμός Επισκεπτών     </font></td>
                <td><a href="{url}">   <font size=3 color=plum> {number} </font></a></td>
            </table>
    '''.format(url={{ url_for('/log', page=page) }}, number=pagehit)

在您发布的第二个代码中也有一个错误

<a href="<a href="{{ url_for('/log', page='%s' }}">">