2012-12-16 99 views
7

我是Django的新手,剛剛開始我的第一個網站。我正在嘗試爲新用戶設置註冊。如何正確使用django UserCreationForm

我使用內置視圖進行登錄和註銷,但沒有註冊,在文檔中,它說我應該使用內置的表單: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. Django是模塊化的,所以你可以寫一個單獨的賬戶用戶管理應用程序,可以處理用戶的創建,管理。 在這種情況下,您將register的代碼置於帳戶views.py應用中。

  2. 你可以直接保存UserCreationForm這將給你的用戶對象。

例如:

... 
form = UserCreationForm(request.POST) 
if form.is_valid(): 
    user = form.save() 
... 
+0

THX你的答案 – ltbesh