【问题标题】:Python Bottle - Inline IF statements in TemplatePython Bottle - 模板中的内联 IF 语句
【发布时间】:2014-03-14 04:59:20
【问题描述】:
Make = <SELECT name="where_make">
        % for make in makes:
            <OPTION value="{{make}}" 
            % if make == defaults['make']:
                selected="selected"
            % end
            >{{make}}</option>
        %end

如何在一行中执行此 if 语句?

【问题讨论】:

    标签: python templates bottle


    【解决方案1】:

    Bottle 内置模板引擎支持inline if statements:

    <option value="{{make}}" {{!'selected="selected"' if make == defaults['make'] else ""}}>{{make}}</option>
    

    注意selected="selected" 之前的感叹号 - 它告诉模板引擎不要转义引号。

    演示:

    from bottle import SimpleTemplate
    
    tpl = SimpleTemplate("""Make = <SELECT name="where_make">
            % for make in makes:
                <option value="{{make}}" {{!'selected="selected"' if make == defaults['make'] else ""}}>{{make}}</option>
            %end""")
    print tpl.render(make='test', defaults={'make': 'test'}, makes=['test'])
    

    打印:

    Make = <SELECT name="where_make">
                <option value="test" selected="selected">test</option>
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-02-19
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多