2012-04-04 17 views
0
definiert
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) 

Wenn ich Server ausgeführt werden, diese Fehler angezeigt:Globaler Name ‚Registration‘ ist nicht

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 

Kann mir jemand sagen, was falsch ist? Vielen Dank.

+1

Es scheint ziemlich offensichtlich: Sie haben kein Registrierungsformular definiert, oder Sie haben es nicht importiert. Was verstehst du nicht? –

+0

suchen Sie in Ihren Projektdateien nach 'RegistrationForm', dann importieren Sie ... – mshsayem

+0

d. H.' From myapp.forms Import RegistrationForm' –

Antwort

1

Sie haben die RegistrationForm nicht importiert. Um es zu verwenden, müssen Sie es in Ihren aktuellen Namespace importieren.

Falls Sie sich django-registration, verwenden Sie die folgende Import:

from registration.forms import RegistrationForm 

Wenn es sich um eine benutzerdefinierte Form ist, importieren Sie es aus, wo Sie es definiert haben.

Verwandte Themen