使用 urls.py 时出现 TypeError Django
TyperError Django while using urls.py
我是初学者,我正在使用 Django 1.8.3 和 Python 2.7.3。
我正在尝试 运行 服务器并收到以下错误:
Traceback:
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
108. response = middleware_method(request)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/middleware/common.py" in process_request
74. if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in is_valid_path
647. resolve(path, urlconf)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
522. return get_resolver(urlconf).resolve(path)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
366. for pattern in self.url_patterns:
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
402. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
396. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
37. __import__(name)
File "/home/mercurial/internet.django/bzi/bzi/urls.py" in <module>
24. url(r'^domains/', include('mailserver.urls')),
File "/home/stas/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/conf/urls/__init__.py" in include
33. urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
37. __import__(name)
File "/home/mercurial/internet.django/bzi/mailserver/urls.py" in <module>
5. url(r'^$', views.domains, name='domains'),
Exception Type: TypeError at /domains
Exception Value: 'function' object has no attribute '__getitem__'
我的项目文件urls.py:
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^domains/', include('mailserver.urls')),
]
我的应用程序邮件服务器文件 urls.py:
from django.conf.urls import patterns, url, include
from . import views
urlpatterns = patterns[
url(r'^$', views.domains),
]
我做错了什么?
你不应该有 patterns
这个名字:
urlpatterns = [
url(r'^$', views.domains),
]
错误在urls.py,你应该这样写:
urlpatterns = [
url(r'^$', views.domains),
]
现在您在 patterns
之后使用方括号“[]” - 这是 python 解释器调用 patterns.__getitem__()
方法的信号,该方法不存在。这就是您收到错误的原因。
我是初学者,我正在使用 Django 1.8.3 和 Python 2.7.3。 我正在尝试 运行 服务器并收到以下错误:
Traceback:
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
108. response = middleware_method(request)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/middleware/common.py" in process_request
74. if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in is_valid_path
647. resolve(path, urlconf)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
522. return get_resolver(urlconf).resolve(path)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
366. for pattern in self.url_patterns:
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
402. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
396. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
37. __import__(name)
File "/home/mercurial/internet.django/bzi/bzi/urls.py" in <module>
24. url(r'^domains/', include('mailserver.urls')),
File "/home/stas/mercurial/internet.django/djangoenv/local/lib/python2.7/site-packages/django/conf/urls/__init__.py" in include
33. urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
37. __import__(name)
File "/home/mercurial/internet.django/bzi/mailserver/urls.py" in <module>
5. url(r'^$', views.domains, name='domains'),
Exception Type: TypeError at /domains
Exception Value: 'function' object has no attribute '__getitem__'
我的项目文件urls.py:
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^domains/', include('mailserver.urls')),
]
我的应用程序邮件服务器文件 urls.py:
from django.conf.urls import patterns, url, include
from . import views
urlpatterns = patterns[
url(r'^$', views.domains),
]
我做错了什么?
你不应该有 patterns
这个名字:
urlpatterns = [
url(r'^$', views.domains),
]
错误在urls.py,你应该这样写:
urlpatterns = [
url(r'^$', views.domains),
]
现在您在 patterns
之后使用方括号“[]” - 这是 python 解释器调用 patterns.__getitem__()
方法的信号,该方法不存在。这就是您收到错误的原因。