私はこの見解を持っている:Djangoのフォームに記入するビューのデータを使用する方法
def edit(request):
data = {}
user = request.user
data['requestor'] = user
data['user'] = user
data['member'] = models.Member.objects.get(User=user)
data['Address'] = models.Address.objects.filter(User=user).filter(Primary=True).first()
data['Phone'] = models.Phone.objects.filter(User=user).filter(Primary=True).first()
data['Family'] = models.Family.objects.filter(Primary=data['member'])
data['Sponsor'] = models.Family.objects.filter(Dependent=data['member']).first()
data['rank'] = models.Promotion.objects.filter(User=user).latest('Date_Effective')
data['form'] = forms.profile
return render(request, "member/profile/page_user_edit.html", data)
私はビューで動作するように、このフォームを使用しています。それはmodelform
ではありません、なぜ注目すべきは、このフォームは、したがって、複数のモデルからのフィールドが含まれます。
class profile(forms.Form):
first_name = forms.CharField(label='First Name', max_length=50, widget=forms.TextInput(attrs={'class': 'md-input'}))
last_name = forms.CharField(label='Last Name', max_length=50, widget=forms.TextInput(attrs={'class': 'md-input'}))
profile_image = forms.FileField()
Street = forms.CharField(label='Street Address', max_length=500, widget=forms.TextInput(attrs={'class': 'md-input'}))
City = forms.CharField(label='City', max_length=50, widget=forms.TextInput(attrs={'class': 'md-input'}))
State = forms.CharField(label='State', max_length=40, widget=forms.TextInput(attrs={'class': 'md-input'}))
Zip = forms.CharField(label='Zip', max_length=20, widget=forms.TextInput(attrs={'class': 'md-input'}))
County = forms.CharField(label='County', max_length=20, widget=forms.TextInput(attrs={'class': 'md-input'}))
Country = forms.CharField(label='Country', max_length=50, widget=forms.TextInput(attrs={'class': 'md-input'}))
Country_Code = forms.CharField(label='Country Code', max_length=5, widget=forms.TextInput(attrs={'class': 'md-input'}))
Area_Code = forms.CharField(label='Area Code', max_length=5, widget=forms.TextInput(attrs={'class': 'md-input'}))
Number = forms.CharField(label='Phone Number', max_length=20, widget=forms.TextInput(attrs={'class': 'md-input'}))
Gender = forms.ChoiceField(choices=choices.GENDER_CHOICES)
Height = forms.FloatField(widget=forms.TextInput(attrs={'class': 'md-input'}))
HairColor = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'class': 'md-input'}))
about = forms.Textarea()
facebook = forms.CharField(max_length=50, widget=forms.TextInput(attrs={'class': 'md-input'}))
twitter = forms.CharField(max_length=50, widget=forms.TextInput(attrs={'class': 'md-input'}))
:
<div>
<div class="uk-input-group">
<span class="uk-input-group-addon">
<i class="md-list-addon-icon uk-icon-facebook-official"></i>
</span>
<label>{{ form.facebook.label }}</label>
{{ form.facebook }}
</div>
</div>
ラベルとフォーム要素が滞りなくページに示し、私はフォームにCurrent値が必要です。 data['member'].facebook
に保存されている現在の値をform.facebook
フィールドにプッシュするにはどうすればよいですか?
どうすればよいですか?おかげさまで あなたが最初の形式を定義する際
を参照してください:https://docs.djangoproject.com/en/1.10/howto/initial-data/ –
あなたは説明できますか?どのようにフォーム要素に値を取得するのですか? – arcee123