0

特定のユーザーの現在のアカウント データが自動入力される Django でユーザー アカウントを更新するためのフォームを作成しようとしています。これは HTML で行うことができますが、Django のフォーム システムを使用して機能させる方法を見つけたいと考えています。特定の制約により、Django の組み込みのユーザー管理を使用できず、独自のユーザー管理を作成する必要があります。どこから始めればよいか迷っています。

4

2 に答える 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 に答える