django模板中的额外字符

时间:2017-02-02 16:38:41

标签: django

我有这样的代码:

<select id="form.category}}">
    {% for category in form.category %}
        <option value="{{ category }}"></option>
    {% endfor %}
</select>

结果是:

https://zapodaj.net/940329c1516df.png.html

为什么?

@edit

category = models.CharField(max_length=100, choices=get_categories())

def get_categories():
    categories = (
        ("wydarzenia", "wydarzenia"),
        ("informacje", "informacje"),
        ("konkursy", "konkursy"),
        ("wycieczki", "wycieczki"),
        ("sport", "sport"),)
    return categories

form.category是模型中的字段

1 个答案:

答案 0 :(得分:1)

该选项看起来为空,因为您没有在options标记内显示任何内容。您需要显示选项标签的一些标签。如果类别是一个对象并且它具有id和name等属性,则执行类似的操作。

<select id="form.category">
    {% for category in form.category %}
        <option value="{{ category.id }}">{{category.name}}</option>
    {% endfor %}
</select>

如果category是字符串或数字,请执行类似

的操作
<select id="form.category">
    {% for category in form.category %}
        <option value="{{ category }}">{{category}}</option>
    {% endfor %}
</select>

请记住,form.category应该是可迭代的。