【发布时间】:2015-03-29 16:52:04
【问题描述】:
我正在使用 django 框架,但遇到错误。
这是我的 settings.py,INSTALLED_APPS
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps',
)
而且,这是我的 apps/ 目录。
apps/
__init__.py
qnaBoard/
admin.py
migrations/
tests.py
views.py
urls.py
__init__.py
models.py
urls.py
而且,这是我的 urls.py,它与 settings.py 位于同一目录中。
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
url(r'^course/', include('apps.qnaBoard.urls')),
url(r'^admin/', include(admin.site.urls)),
)
我认为我遵循了正确的方法,但是它说找不到 apps.qnaBoard.urls,并引发语法错误。
这是回溯:
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
98. resolver_match = resolver.resolve(request.path_info)
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
343. for pattern in self.url_patterns:
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in url_patterns
372. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in urlconf_module
366. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
37. __import__(name)
File "/root/campusmate/campusmate/campusmate/urls.py" in <module>
9. url(r'^course/', include('apps.qnaBoard.urls')), #need to apply course router
File "/usr/local/lib/python2.7/dist-packages/django/conf/urls/__init__.py" in include
28. urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
37. __import__(name)
Exception Type: SyntaxError at /course/
Exception Value: invalid syntax (urls.py, line 4)
这是apps/qnaBoard/urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
from apps.qnaBoard.views import showPost
from apps.qnaBoard.views import showQuestionThread
from apps.qnaBoard.views import writeReply
from apps.qnaBoard.views import writeQuestion
from apps.qnaBoard.views.import writeAnswer
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'campusmate.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
# need to be refactored when course router are attached.
url(r'^([0-9]+)/([1-4])/([A-Za-z0-9]+)/article/list/', showPost.as_view()),
url(r'^([0-9]+)/([1-4])/([A-Za-z0-9]+)/article/([0-9]+)/$', showQuestionThread.as_view()),
url(r'^([0-9]+)/([1-4])/([A-Za-z0-9]+)/article/([0-9]+)/reply', writeReply.as_view()),
url(r'^([0-9]+)/([1-4])/([A-Za-z0-9]+)/article/write/$', writeQuestion.as_view()),
url(r'^([0-9]+)/([1-4])/([A-Za-z0-9]+)/article/write/([0-9]+)/$', writeAnswer.as_view()),
)
【问题讨论】:
-
你能告诉我们
apps/qnaBoard/urls.py吗? -
是的,同时更新
apps/qnaBoard/urls.py文件。我认为您错过了此文件中的某些内容。 -
apps不是有效的 django 应用程序。INSTALLED_APPS包含 django 应用程序列表(不仅仅是任何 python 模块)。参考 - docs.djangoproject.com/en/1.7/ref/applications 。在您的示例中,确保qnaBoard符合 django 应用程序的条件,然后将apps.qnaBoard添加到INSTALLED_APPS。 -
我怀疑它是否相关,但
/list/和 '/reply' 应该以/$结尾。
标签: python django django-urls