Регистрация пользователя под ключ - PullRequest
0 голосов
/ 03 декабря 2011

Новичок в Джанго.Я поражен админкой.Может ли кто-нибудь порекомендовать систему регистрации пользователей, на которую я могу так же легко наложить слой?Предпочтительный с просмотром файлов в комплекте.

1 Ответ

1 голос
/ 03 декабря 2011

Django - это не смс, как WordPress, где вы просто добавляете материал.Однако очень легко создать подпрограмму аутентификации. Просто прочитайте документацию, очень важно понять эти документы, чтобы действительно войти в бизнес django: https://docs.djangoproject.com/en/1.3/topics/auth/

Примеры на этой странице дадут вамheadstart:

Создайте где-нибудь представление формы входа и регистрации, затем создайте 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). Никогда не доверяйте пользовательскому вводу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...