Я работаю над одним из проектов моего коллеги Django (Django 2.1.4).Я потратил пару дней, чтобы попытаться выяснить, как отключить автоматический экранирование для значения поля формы при его визуализации вручную в шаблоне.{% autoescape off %} and {{form1.LastName | safe }}
все не работает.
Вот некоторые относительные коды.
Form.py
class tblstudentinfomodelform_page1(forms.ModelForm):
LastName = forms.CharField(max_length=30, required=True)
views.py
def application(request,application_num)
form1 = tblstudentinfo.objects.get(ApplicationNumber=application_num)
...
form1_forms = tblstudentinfomodelform_page1(initial=form1.__dict__) if form1 else tblstudentinfomodelform_page1(initial=form1)
...
return render(request,'appinfo.html',{'form1':form1_forms})
appinfo.html
<th>{{form1.LastName}}<br>{{form1.LastName.errors}} {{form1.LastName.value}} </th>
Некоторые тесты здесь:
Значение LastName равно Şhaha
test1 : добавьте {% autoescape off %}
вверху шаблона и {% endautoescape %}
внизу
result1 : {{form1.LastName.value}}
отображается правильно - Şhaha, но входное текстовое поле показывает Şhaha
результат выполнения - html страница
test2 : удалить тег autoescape и добавитьsafe
filter
<th>{{form1.LastName | safe}}<br>{{form1.LastName.errors}} {{form1.LastName.value |safe}} </th>
result2 : получить тот же результат, похоже, что safe
фильтр работал только на form.field.value
Есть предложения?
Спасибо.