2012-12-16 36 views
7

Tôi mới sử dụng Django và tôi mới bắt đầu trang web đầu tiên của mình. Tôi đang cố gắng đặt đăng ký cho người dùng mới.Cách sử dụng django UserCreationForm chính xác

Tôi đã sử dụng chế độ xem được xây dựng để đăng nhập và đăng xuất nhưng không có đăng ký nào, trong tài liệu, nó nói rằng tôi nên sử dụng biểu mẫu được tạo sẵn: UserCreationForm.

Mã của quan điểm của tôi là:

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)) 

Nó hoạt động tốt nhưng tôi không hài lòng khi mã này được viết trong views.py xử lý cốt lõi của ứng dụng của tôi (nhiều lựa chọn câu hỏi).

Câu hỏi của tôi là:

  • Đây có phải là cách chính xác của việc sử dụng các UserCreationForm
  • tôi có thể đặt mã này ở đâu nên nó sẽ được tách ra khỏi phần còn lại của ứng dụng của tôi

Cảm ơn bạn cho câu trả lời của bạn.

Trả lời

4
  1. Django là mô-đun, vì vậy bạn có thể viết một riêng biệt chiếm hoặc quản lý người dùng ứng dụng có thể xử lý sáng tạo của người dùng, quản lý. Trong trường hợp đó, bạn đặt mã cho register trong các ứng dụng views.py của tài khoản.

  2. Bạn có thể lưu trực tiếp UserCreationForm sẽ cung cấp cho bạn đối tượng người dùng.

dụ:

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

Thx cho câu trả lời của bạn – ltbesh

Các vấn đề liên quan