模块中不存在视图 - 当它 [英] View does not exist in module - when it does
问题描述
我这里是我的 views.py
从__future__导入unicode_literals
从django.shortcuts导入render_to_response
从django.core.context_processors导入csrf
from rsb.forms import RegisterForm
def index(request):
return render_to_response(index.html)
def services(request )
return render_to_response(services.html)
def login(request):
return render_to_response(login.html)
def contact(request):
return render_to_response(contact.html)
def about(request):
return render_to_response(about.html)
def registerUser(request):
form = RegisterForm()
data = {}
data.update(csrf(request))
data.update({' form':form})
return render_to_response(register.html,data)
def addUser(request):
return render_to_response(added_user.html)
这是我的网址。 py
from django.conf.urls import patterns,include,url
#取消注释下面两行以启用admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^ services /','rsb.views.services'),
url(r'^ login /','rsb.views.login'),
url(r'注册/','rsb.views.registerUser'),
url(r'^ contact /','rsb.views.contact'),
url(r'^ about /','rsb 。)
url(r'^ addUser /','rsb.views.addUser'),
url(r'^ admin /',include(admin。 site.urls)),
)
这是我的 forms.py
class RegisterForm(forms.Form):
client_type =('个人','公司')
countries = Countries.object s.all()
unitedStates = UnitedStates.objects.all()
country_choices = []
为国家/地区的项目:
country_choices.append(countries.name )
state_choices = []
在unitedStates中的项:
state_choices.append(unitedStates.name)
rsb_client_type = forms.ChoiceField(widget = form.Select(),choices = client_type,required = True)
rsb_first_name = forms.CharField(max_length = 25,required = True)
rsb_last_name = forms.CharField(max_length = 25,required = True)
rsb_company_name = forms.CharField(max_length = 25)
rsb_address1 = forms.CharField(max_length = 50,required = True)
rsb_address2 = forms.CharField(max_length = 50)
rsb_city = forms.CharField(max_length = 50,required = True)
rsb_country = forms.ChoiceField(widget = forms.Select(),choices = country_choices,required = True)
if rsb_country =='美国'):
rsb_state = forms.ChoiceField(widget = forms.Select(),choices = state_choices,required = True)
else:
rsb_state = forms.CharField(max_length = 50,required = True)
rsb_zip_code = forms.CharField(max_length = 25,required = True)
rsb_phone_number = USPhoneNumberField(label =Phone,widget = USPhoneNumberMultiWidget(),required = True)
rsb_email = EmailField(required = True)
请注意,这远远没有抛光。我只是无法访问我的观点。我运行 python manage.py runserver
并尝试 http://127.0.0.1:8000/register/
并收到以下错误:
无法导入rsb.views.registerUser。模块rsb.views中不存在视图。
我收到类似的错误,无论我尝试访问哪一个视图。
请帮助。
EDIT1:
对不起,这里是追溯:
追溯:
文件/usr/local/lib/python2.7/dist-packages/Django-1.4 $ _
文件/usr/local/lib/python2.7/dist-解决
300中的包/ Django-1.4.1-py2.7.egg / django / core / urlresolvers.py。sub_match = pattern.resolve(new_path)
文件/ usr / local / lib /python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/urlresolvers.py解析
209. return ResolverMatch(self.callback,args,kwargs,self。名称)
文件/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/urlresolvers.py在回调
216 。self._callback = get_callable(self._callback_str)
文件/ usr / local / lib / python2.7 / dist-packages / Django-1.4.1-py2.7.egg / django / utils / functional.pyin wrapper
27. result = func(* args)
文件/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/urlresolvers.pyin get_callable
101.(lookup_view ,mod_name))
异常类型:ViewDoesNotExist at / register /
异常值:无法导入rsb.views.registerUser。模块rsb.views中不存在视图。
重命名 rsb.views。根据到
rsb.views.register_user
-0008 /rel =nofollow> PEP 8 :
函数名应为小写,单词以
的下划线是必要的,以提高可读性。
现在问题。您有:
country_choices = []
为国家/地区的项目:
country_choices.append(countries。
state_choices = []
在美国的项目:
state_choices.append(unitedStates.name)
应该是:
country_choices = []
对于国家/地区中的项目:
country_choices.append(item.name)
state_choices = []
在unitedStates中的项目:
state_choices.append(item.name)
I'm running Django 1.4 with Python 2.7 on Kubuntu 12.04.
I here is my views.py
from __future__ import unicode_literals
from django.shortcuts import render_to_response
from django.core.context_processors import csrf
from rsb.forms import RegisterForm
def index(request):
return render_to_response("index.html")
def services(request):
return render_to_response("services.html")
def login(request):
return render_to_response("login.html")
def contact(request):
return render_to_response("contact.html")
def about(request):
return render_to_response("about.html")
def registerUser(request):
form = RegisterForm()
data = {}
data.update(csrf(request))
data.update({ 'form' : form })
return render_to_response("register.html", data)
def addUser(request):
return render_to_response("added_user.html")
Here is my urls.py
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^services/', 'rsb.views.services'),
url(r'^login/', 'rsb.views.login'),
url(r'^register/', 'rsb.views.registerUser'),
url(r'^contact/', 'rsb.views.contact'),
url(r'^about/', 'rsb.views.about'),
url(r'^addUser/', 'rsb.views.addUser'),
url(r'^admin/', include(admin.site.urls)),
)
Here is my forms.py
class RegisterForm(forms.Form):
client_type = ('Personal', 'Company')
countries = Countries.objects.all()
unitedStates = UnitedStates.objects.all()
country_choices = []
for item in countries:
country_choices.append(countries.name)
state_choices = []
for item in unitedStates:
state_choices.append(unitedStates.name)
rsb_client_type = forms.ChoiceField(widget = forms.Select(), choices = client_type, required = True)
rsb_first_name = forms.CharField(max_length = 25, required = True)
rsb_last_name = forms.CharField(max_length = 25, required = True)
rsb_company_name = forms.CharField(max_length = 25)
rsb_address1 = forms.CharField(max_length = 50, required = True)
rsb_address2 = forms.CharField(max_length = 50)
rsb_city = forms.CharField(max_length = 50, required = True)
rsb_country = forms.ChoiceField(widget = forms.Select(), choices = country_choices, required = True)
if (rsb_country == 'United States'):
rsb_state = forms.ChoiceField(widget = forms.Select(), choices = state_choices, required = True)
else:
rsb_state = forms.CharField(max_length = 50, required = True)
rsb_zip_code = forms.CharField(max_length = 25, required = True)
rsb_phone_number = USPhoneNumberField(label = "Phone", widget = USPhoneNumberMultiWidget(), required = True)
rsb_email = forms.EmailField(required = True)
Please note that this is far from polished. I'm just simply having trouble accessing my views. I ran python manage.py runserver
and tried http://127.0.0.1:8000/register/
and received the following error:
Could not import rsb.views.registerUser. View does not exist in module rsb.views.
I receive a similar error regardless of which view I try and access.
Please help.
EDIT1:
Sorry, here is the traceback:
Traceback:
File "/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/handlers/base.py" in get_response
101. request.path_info)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/urlresolvers.py" in resolve
300. sub_match = pattern.resolve(new_path)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/urlresolvers.py" in resolve
209. return ResolverMatch(self.callback, args, kwargs, self.name)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/urlresolvers.py" in callback
216. self._callback = get_callable(self._callback_str)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/utils/functional.py" in wrapper
27. result = func(*args)
File "/usr/local/lib/python2.7/dist-packages/Django-1.4.1-py2.7.egg/django/core/urlresolvers.py" in get_callable
101. (lookup_view, mod_name))
Exception Type: ViewDoesNotExist at /register/
Exception Value: Could not import rsb.views.registerUser. View does not exist in module rsb.views.
Rename rsb.views.registerUser
to rsb.views.register_user
according to the PEP 8:
Function names should be lowercase, with words separated by underscores as necessary to improve readability.
Now to the problem. You have:
country_choices = []
for item in countries:
country_choices.append(countries.name)
state_choices = []
for item in unitedStates:
state_choices.append(unitedStates.name)
which should be:
country_choices = []
for item in countries:
country_choices.append(item.name)
state_choices = []
for item in unitedStates:
state_choices.append(item.name)
这篇关于模块中不存在视图 - 当它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!