代码之家  ›  专栏  ›  技术社区  ›  utku_karatas

如何手动呈现设置了初始值的窗体字段?

  •  1
  • utku_karatas  · 技术社区  · 14 年前

    我正在尝试手动呈现表单的字段,以便我的设计师同事可以在HTML中操作输入元素,而不是在Python源代码中挣扎。

    也就是说,不要像这样声明表单字段。。。

                {{ form.first_name }}   
    

    .. 我真的。。。

                <label for="id_first_name">Your name:</label>
                <input type="text" value="{{  form.first_name.somehow_get_initial_value_here }}" name="first_name" id="id_first_name" class="blabla" maxlength="30" >
                {% if form.first_name.errors %}<span>*** {{ form.first_name.errors|join:", " }}</span>{% endif %}
    

    问题是,在第二种方法中似乎无法获得字段的初始值。 {{表单.名字} {{表单.名字.初始值}

    2 回复  |  直到 14 年前
        1
  •  4
  •   Harold    14 年前

    关于这个问题有一个有趣的长期存在的问题。注释中有实现模板过滤器的示例代码,可以满足您的需要:

    http://code.djangoproject.com/ticket/10427

        2
  •  0
  •   Nicu Surdu Robert Laverty    14 年前
    <input value="{{form.name.data|default_if_none:'my_defaut_value'}}" ... />
    

    你必须使用 default_if_none 因为绑定字段的隐式值不会存储在 data. More details here