【问题标题】:Python Bottle server template returning ill formatted html codePython Bottle 服务器模板返回格式错误的 html 代码
【发布时间】:2015-11-19 14:41:21
【问题描述】:

所以在下面的瓶子服务器路由中一切正常......

@route('/IFC/config/<policy>')
def config(policy):
    if policy == "test":
        html_nodes = ""
        Nodes = IFC_main.get_nodes(ipaddr,username,password)
        for node in Nodes:
            html_nodes += '<li>'+node["name"]+'</li>'
        return template("mgmt.tpl",html_nodes = html_nodes)

除非我查看生成的网页的源代码,否则它应该是一个带有我提供的值的下拉菜单,但我得到了这个......

<script language="JavaScript" type="text/javascript" src="/static/mgmt.js">               </script>
<link rel="stylesheet" type="text/css" href="/static/mgmt.css">

<body style = "background-color:#CCCCCA">
<img id="banner" style = "bg-color:CBCCCE" src="static/Cisco_emailHeader.png" alt="Banner Image"/>
<div style="width: 800px;height: 100px;position: absolute;top:0;bottom: 0;left: 0;right: 0;margin: auto;">
<h1>Management Connectivity</h1>
 <ul class="dropdown-menu">
 &lt;li&gt;calo2-leaf3&lt;/li&gt;&lt;li&gt;calo2- spine1&lt;/li&gt;&lt;li&gt;calo2-leaf2&lt;/li&gt;&lt;li&gt;calo2- leaf1&lt;/li&gt;&lt;li&gt;apic2&lt;/li&gt;&lt;li&gt;calo2- spine2&lt;/li&gt;&lt;li&gt;apic1&lt;/li&gt;&lt;li&gt;apic3&lt;/li&gt;
</ul>
</div>
</body>

我知道我需要将要传递的字符串转换为模板,但我只是无法弄清楚是什么。我假设其他人遇到了这个问题。

【问题讨论】:

    标签: python html bottle


    【解决方案1】:

    您可以用感叹号开始该语句以禁用该语句的转义:

    >>> template('Hello {{name}}!', name='<b>World</b>')
    u'Hello &lt;b&gt;World&lt;/b&gt;!'
    >>> template('Hello {{!name}}!', name='<b>World</b>')
    u'Hello <b>World</b>!'
    

    【讨论】:

      【解决方案2】:

      您需要将循环移动到模板文件中,

      % for node in nodes:
          <li>{{ node.name }}</li>
      % end
      

      代码将变为,

      @route('/IFC/config/<policy>')
      def config(policy):
          if policy == "test":
              nodes = IFC_main.get_nodes(ipaddr,username,password)
              return template("mgmt.tpl", nodes=nodes)
      

      【讨论】:

      • 我没有尝试其他解决方案,因为这个解决方案有效。我想过这样做,但我认为它不会起作用......我认为它只有一个元素,节点中的最后一个节点。
      猜你喜欢
      • 2019-11-14
      • 1970-01-01
      • 2020-07-13
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多