Flask的url_for函数不会在html代码中进行插值

问题描述 投票:0回答:1
@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)    

此外,当我尝试内联语句以避免阻止时,我得到一个错误。它应该有效。

name = nikos if (5>3)
python flask
1个回答
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' }}">"> 
© www.soinside.com 2019 - 2024. All rights reserved.