#python #django
Вопрос:
Я перепробовал все решения здесь, на Stackoverflow, но все они используют required=False. Как я могу устанавливать значение по умолчанию для требуемого поля формы каждый раз, даже после запроса post (когда форма привязана)?
# forms.py
class MyForm(forms.Form):
name = forms.CharField(required = True)
def __init__(self, *args, **kwargs):
super(editSonde_KundenAdminPanel, self).__init__(*args, **kwargs)
self.initial['name'] = "foo bar"
#Views.py
def index(request):
if request.method == 'GET':
form = MyForm()
if request.method == 'POST':
form = MyForm(request.POST)
#After this step, the form doesn't have an initial value anymore...
if form.is_valid()
#Do Stuff
Ответ №1:
В документации говорится о создании нового экземпляра формы.
Если у вас есть связанный экземпляр формы и вы хотите каким-то образом изменить данные или если вы хотите привязать несвязанный экземпляр формы к некоторым данным, создайте другой экземпляр формы. Невозможно изменить данные в экземпляре формы. После создания экземпляра формы вы должны считать его данные неизменяемыми, независимо от того, есть у него данные или нет.