2011-12-03 17 views
0

新生児からDjango。私は管理パネルに驚いています。誰もが簡単に登録できるユーザー登録システムをお勧めしますか?ビューファイルを含む好ましいファイル。ターンキーユーザー登録

答えて

1

DjangoはちょうどプラグインのものだけのWordPressのようなCMSではありません。それだけで文書を読む..認証ルーチンを作成するのは非常に簡単です。しかし、それは本当にDjangoのビジネスに入るためにこれらのドキュメントを理解することはかなり重要です:https://docs.djangoproject.com/en/1.3/topics/auth/

あなたにヘッドスタート与えるそのページの例:

どこかに、このビュー(フォームのアクション)を指すURLを作成し、すでに

class SignUpForm(forms.Form): 
    email = forms.EmailField(required=True, label=_("E-Mail")) 
    password = forms.CharField(required=True, label=_("Password"), widget=forms.PasswordInput) 
    password2 = forms.CharField(required=True, label=_("Repeat password"), widget=forms.PasswordInput) 
    first_name = forms.CharField(required=True, label=_("First name")) 
    last_name = forms.CharField(required=True, label=_("Last name")) 
    phone_number = forms.CharField(required=True, label=_("Phone number")) 

    return signup_form 

def sign_up(request): 
    """ 
    View for signing up a customer 
    """ 
    signup_form = customer_forms.SignUpForm(request.POST) 
    if signup_form.is_valid(): 
     create_user_and_login(request) 
     return #somewhere 
    else: 
     return #error handling 

def create_user_and_login(request): 
    ## Retrieve User data from form 
    email = request.POST["email"] 
    password = request.POST["password"] 
    first_name = request.POST["first_name"] 
    last_name = request.POST["last_name"] 
    ## Create a new user 
    new_user = User() 
    new_user.email = email 
    new_user.username = email 
    new_user.set_password(password) 
    new_user.first_name = first_name 
    new_user.last_name = last_name 
    new_user.save() 



from django.contrib.auth import authenticate, login 

def my_view(request): 
    username = request.POST['username'] 
    password = request.POST['password'] 
    user = authenticate(username=username, password=password) 
    if user is not None: 
     if user.is_active: 
      login(request, user) 
      # Redirect to a success page. 
     else: 
      # Return a 'disabled account' error message 
    else: 
     # Return an 'invalid login' error message. 

フォーム勿論(非常に)基本的なセットアップはまだ(参照クリーニングが必要がありますログインと登録フォームビューを作成します。 django docs)決してユーザー入力を信用せず..