0
def register_page(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            user = User.objects.creat_user(
                username=form.clean_data['username'],
                password=form.clean_data['password1'],
                email=form.clean_data['email']
                )
            return HttpResponseRedirect('/accounts/register/success/')
    else:
        form = RegistrationForm()
    variables = RequestContext(request, {'form': form})
    return render_to_response ('registration/register.html',variables)

サーバーを実行すると、次のエラーが表示されます。

global name 'RegistrationForm' is not defined
Request Method: GET
Request URL:    http://127.0.0.1:8000/accounts/register/
Django Version: 1.4
Exception Type: NameError
Exception Value:    
global name 'RegistrationForm' is not defined
Exception Location: D:\Python\Scripts\littlesite\messageboard\views.py in register_page, line 31
Python Executable:  D:\Python\python.exe
Python Version: 2.7.2

誰かがそれの何が悪いのか教えてもらえますか?ありがとう。

4

1 に答える 1

1

をインポートしませんでしたRegistrationForm。これを使用するには、現在の名前空間にインポートする必要があります。

django-registrationを使用している場合は、次のインポートを使用します。

from registration.forms import RegistrationForm

カスタムフォームの場合は、定義した場所からインポートします。

于 2012-04-04T09:39:55.867 に答える