Django как сделать так, чтобы выбранное поле отображалось в виде метки
Я создаю с:
class FooForm(forms.ModelForm):
class Meta:
model = foo
fields = '__all__'
автоформа модели. Это работает нормально. Когда я теперь отображаю поля с:
{% for field in formfields %}
{{ field}}
{% endfor %}
создайте мне это поле для foreignkey, как selectfield:
<select name="foo" required id="id_foo">
<option value="">---------</option>
<option value="1">A</option>
<option value="2" selected>B</option>
<option value="3">C</option>
<option value="4">D</option>
Я хочу отобразить только выбранную опцию как ярлык:
A
Если вы хотите просто отобразить значение вместо элемента <select>
, то у вас есть два варианта:
Отрисуйте поле как обычно, но установите поле формы как readonly, чтобы его нельзя было редактировать, затем вы можете стилизовать его по-другому, чтобы пользователю было очевидно, что его нельзя изменить
.Просто отобразите значение поля формы с помощью
{{ field.value }}
внутри элемента<p>
или чего-то еще - помните, что оно не будет передано в вашу форму через request.POST, если у вас нет ввода. Если вам нужно передать значение в форму, то вы можете спрятать input где-нибудь в форме, чтобы он не мешал валидации формы.