特定のユーザーの現在のアカウント データが自動入力される Django でユーザー アカウントを更新するためのフォームを作成しようとしています。これは HTML で行うことができますが、Django のフォーム システムを使用して機能させる方法を見つけたいと考えています。特定の制約により、Django の組み込みのユーザー管理を使用できず、独自のユーザー管理を作成する必要があります。どこから始めればよいか迷っています。
2 に答える
0
通常の形式 (sublassing ) を使用している場合は、キーワード引数をforms.Form
使用してデータをフォーム コンストラクターに渡します。initial
# forms.py
class MyUserForm(forms.Form):
username = forms.CharField(...
first_name = forms.CharField(...
...
# views.py
if request.method == 'POST':
# Process form
form = MyUserForm(request.POST)
...
else:
form = MyUserForm(initial={
'username': request.user.username,
'first_name': request.user.first_name,
...
}
...
ただし、さらに簡単な方法は、Django の ModelFormsを使用することです。何かのようなもの:
# forms.py
class MyUserForm(forms.ModelForm):
class Meta:
model = User
# views.py
if request.method == 'POST':
form = MyUserForm(request.POST, instance=request.user)
...
else:
form = MyUserForm(instance=request.user)
...
于 2012-07-12T22:07:50.840 に答える