2012-04-04 76 views
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) 

当我运行服务器,出现此错误:全局名称“RegistrationForm”没有定义

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 

谁能告诉我什么是错呢?谢谢。

+1

看起来相当明显:您没有定义RegistrationForm,或者您没有导入它。你不明白什么? – 2012-04-04 09:25:41

+0

在您的项目文件中搜索'RegistrationForm',然后导入... – mshsayem 2012-04-04 09:27:34

+0

即'from myapp.forms import RegistrationForm' – 2012-04-04 09:32:30

回答

1

您没有导入RegistrationForm。为了使用它,你需要将它导入你当前的命名空间。

如果你使用django-registration,请使用以下导入:

from registration.forms import RegistrationForm 

如果它是一个自定义表单,从已定义它导入。

相关问题