Я пытаюсь отобразить отдельные поля формы Django один за другим, так как я хочу изменить определенные свойства.Django визуализировать отдельное поле формы, не отображающее
Это мои forms.py. Для ясности я уменьшил его до одного поля.
from django import forms
class NameForm(forms.Form):
name = forms.CharField(max_length=100)
Он отлично работает, если полностью визуализирую форму. Мой HTML код -
<form style="text-align:center; padding-bottom: 2%" action="/contact/" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
</form>
Источник страницы для указанного выше кода приходит, как это -
<p><label for="id_name">Name:</label> <input id="id_name" maxlength="100" name="name" type="text" /></p>
Проблема возникает, когда я пытаюсь сделать отдельные поля, как с помощью {{ form.name }}
вместо {{form}}
. Источник страницы для этого показывает пустой. HTML не сформирован.
Я также попробовал -
{% for field in form %}
<div class="fieldWrapper">
{{ field }}
</div>
{% endfor %}
И HTML оказывается за это как -
<div class="fieldWrapper">
<
</div>
<div class="fieldWrapper">
p
</div>
<div class="fieldWrapper">
>
</div>
<div class="fieldWrapper">
<
</div>
<div class="fieldWrapper">
l
</div>
<div class="fieldWrapper">
a
</div>
<div class="fieldWrapper">
b
</div>
<div class="fieldWrapper">
e
</div>
<div class="fieldWrapper">
l
</div>
<div class="fieldWrapper">
</div>
<div class="fieldWrapper">
f
</div>
<div class="fieldWrapper">
o
</div>
<div class="fieldWrapper">
r
</div>
<div class="fieldWrapper">
Я не разместил полный исходный код HTML, но кажется, что цикл печатает каждый символ HTML-код, отображаемый из формы, как если бы мы объединили первые несколько символов, напечатанных на нем, как HTML-код:
<p><label for>
и т. Д.
Пожалуйста, объясните, почему это происходит.
Да, вы правы. Мой взгляд возвращал 'form.as_p'. Так глупо от меня. Большое спасибо. –
@JyotmanSingh Добро пожаловать! –