如何显示所有名称?

时间:2020-07-10 14:45:35

标签: html django select django-models

你好,我想使用Django创建一个选择,我有一个模型:

class Test(models.Model):
    name = models.CharField(null=True, default=None)

我想从表Test中创建一个带有名称选项的select。

我该怎么做?

我尝试过这个:

<select class="form-control">
                <option value=""></option>
                {{  for name in Test }}
                    <option value="{{ name.id }}">{{ name.name }}</option>
                {% endfor %}
            </select>

但这不起作用...

能帮我吗?

2 个答案:

答案 0 :(得分:0)

只需将{{ for name in Test }}更改为{{ for name in Test.all }}

答案 1 :(得分:0)

我建议您使用上下文传递Test的列表。

app / view.py

def my_view(request):
    context = {
        tests: Test.objects.all()
    }
    return render(request, 'my_html_with_the_select.html', context)

app / templates / my_html_with_the_select.html

<select class="form-control">
    <option value=""></option>
    {% for test in tests %}
        <option value="{{ test.id }}">{{ test.name }}</option>
    {% endfor %}
</select>
相关问题