8

私は Django を初めて使用し、最初の Web サイトを開始したばかりです。新規ユーザーの登録を設定しようとしています。

ログインとログアウトに組み込みのビューを使用しましたが、登録用のビューはありません。ドキュメントには、組み込みのフォーム UserCreationForm を使用する必要があると書かれています。

私の見解のコードは次のとおりです。

def register(request):
if request.method =='POST':
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = User.objects.create_user(form.cleaned_data['username'], None, form.cleaned_data['password1'])
        user.save()
        return render_to_response('QCM/index.html') # Redirect after POST
else:
    form = UserCreationForm() # An unbound form

return render_to_response('register.html', {
    'form': form,
},context_instance=RequestContext(request))

正常に動作しますが、このコードはアプリケーションのコアを処理する views.py に記述されているため満足できません (複数選択問題)。

私の質問は次のとおりです。

  • これは UserCreationForm を使用する正しい方法ですか?
  • アプリの残りの部分から分離されるように、このコードをどこに置くことができますか

回答ありがとうございます。

4

1 に答える 1

5
  1. Djangoはモジュール式であるため、ユーザーの作成、管理を処理できる個別のアカウントまたはユーザー管理アプリを作成できます。その場合、アカウントのアプリにのコードを入れますregisterviews.py

  2. UserCreationFormユーザーオブジェクトを提供するを直接保存できます。

例:

...
form = UserCreationForm(request.POST)
if form.is_valid():
   user = form.save()
...
于 2012-12-16T12:32:36.613 に答える