0

専門家以外のユーザー向けに Django を使用して Web サイトを開発していますが、新しいユーザーを作成するためのステップ 2 に悩まされています。ユーザーを作成するプロセスがステップ1で終了することを望みます。ユーザーを作成または編集するための私の顧客への最も簡単な方法を作るため。

4

1 に答える 1

1

新規ユーザー登録の場合:

register.html {{状態}}

<form method="post">{% csrf_token %}
    First Name: <input type="text" name="fname">
    Last Name: <input type="text" name="lname">
    Email: <input type="email" name="email">
    Username: <input type="text" name="username">
    Password: <input type="password" name="password">

    <input type="submit" value="Register">
</form>

ビュー.py

from django.contrib.auth import authenticate, login
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render    

def register(request, state=""):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        email    = request.POST.get('email')
        fname    = request.POST.get('fname')
        lname    = request.POST.get('lname')

        username_exist = User.objects.filter(username=username)
        email_exist = User.objects.filter(email=email)

        if username_exist and email_exist:
            state = "Username and Email are already exists. Please enter another."
        elif username_exist:
            state = "Username is already exist. Please try another one."
            email_session = email
        elif email_exist:
            state = "Email is already exist. Please use other account."
            username_session = username
        else:
            add_user = User.objects.create_user(username=username,
                    password=password, email=email )
            add_user.is_active = True
            add_user.first_name = fname
            add_user.last_name = lname
            add_user.save()

            user = authenticate(username=username, password=password)
            login(request, user)
            return HttpResponseRedirect(reverse('app_name:url_name'))

    return render(request, 'register.html', {'state':state})

ユーザーを更新するには、基本情報が表示される profile.html を作成し、プロファイルを更新するためのボタンを作成します。

于 2013-02-11T03:50:40.900 に答える