Странная проблема в Джанго с формами:
У меня есть Form.class, определенный следующим образом ...
class MeetingForm(forms.Form):
owner = forms.ModelChoiceField(
queryset=Profile.objects.all(),
widget=forms.HiddenInput() )
date = forms.DateTimeField()
name = forms.CharField(max_length=30)
etc.
И я создаю новые экземпляры, вызывая функцию, подобную этой ...
def newMeetingForm(request,profile) :
mf = MeetingForm( {
'date' : date.today(),
} )
return mf
Который работает как положено. За исключением того, что поле "владелец" встречи не заполнено. То, что я должен сделать, это предварительно заполнить поле владельца в newMeetingForm следующим образом:
def newMeetingForm(request,profile) :
mf = MeetingForm( {
'date' : date.today(),
'owner' : profile,
} )
return mf
где аргумент "профиль" является объектом профиля.
Однако, когда я запускаю это, форма не отображается.
Я использую это в шаблоне:
{{ form.as_p }}
Но с этой дополнительной строкой 'owner' в newMeetingForm она буквально выглядит как пустая строка. Я предполагаю, что как-то молча происходит сбой, возможно, так как ModelChoiceField пытается отобразить значение владельца, которое я предварительно заполнил. Но значения выглядят хорошо. Так что еще я должен искать?