Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django中提交表单后保留选中选项_Python_Django_Django Forms_Django Templates - Fatal编程技术网

Python 在Django中提交表单后保留选中选项

Python 在Django中提交表单后保留选中选项,python,django,django-forms,django-templates,Python,Django,Django Forms,Django Templates,我有一个用于将书籍保存到数据库中的模型表单。我的模板中有一个下拉菜单,如果表单中有任何错误,我希望保持用户选项处于选中状态。我已经找到了一些解决方案,但它们似乎不起作用 我的模板: <select name="category" class="form-control" id="category"> {% for category in library_categories %} <option value="{{ category.id }}" {%

我有一个用于将书籍保存到数据库中的模型表单。我的模板中有一个下拉菜单,如果表单中有任何错误,我希望保持用户选项处于选中状态。我已经找到了一些解决方案,但它们似乎不起作用

我的模板:

<select name="category" class="form-control" id="category">
    {% for category in library_categories %}
        <option value="{{ category.id }}" {% if category.id == form.category.value %} selected{% endif %}>{{ category.title }}</option>
    {% endfor %}
</select>
HTML代码中绝对没有输出,if条件被忽略。我找到的解决方案之一是:


我只是不知道如何将模板中的变量转换为整数。感谢您的帮助。

您不应该在模板中手动创建
元素。Django表单将为您执行此操作,并将在错误时重新显示时注意保持相关项处于选中状态

将所有HTML替换为以下内容:

{{ form.category }}
{{ form.category }}