gpt4 book ai didi

python - View 在模块中不存在 - 当它存在时

转载 作者:行者123 更新时间:2023-11-28 20:50:17 25 4
gpt4 key购买 nike

我在 Kubuntu 12.04 上运行 Django 1.4 和 Python 2.7。

这是我的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")

这是我的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)),

)

这是我的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)

请注意,这远未完善。我只是无法访问我的观点。我运行 python manage.py runserver 并尝试了 http://127.0.0.1:8000/register/ 并收到以下错误:

Could not import rsb.views.registerUser. View does not exist in module rsb.views.

无论我尝试访问哪个 View ,我都会收到类似的错误。

请帮忙。

编辑1:

抱歉,这是回溯:

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.

最佳答案

根据 PEP 8rsb.views.registerUser 重命名为 rsb.views.register_user :

Function names should be lowercase, with words separated by underscores as necessary to improve readability.

现在来解决问题。你有:

country_choices = []
for item in countries:
country_choices.append(countries.name)

state_choices = []
for item in unitedStates:
state_choices.append(unitedStates.name)

应该是:

country_choices = []
for item in countries:
country_choices.append(item.name)

state_choices = []
for item in unitedStates:
state_choices.append(item.name)

关于python - View 在模块中不存在 - 当它存在时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12771815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com