试图在 django 项目的 urls 文件夹中包含 url 模式
Posted
技术标签:
【中文标题】试图在 django 项目的 urls 文件夹中包含 url 模式【英文标题】:Trying to include url patterns in urls folder of django project 【发布时间】:2011-12-29 04:53:30 【问题描述】:我正在开发一个 django 项目,我将所有 url 模式放入我项目的应用程序的一个 urlConf 中。我决定将它们分解,并将它们包含在根项目的 url 文件中。根 URLConf 在 cms/urls.py 中,而我要包含的那些位于 cms/coltrane/urls 我将模型导入到该文件夹中的每个单独的 url 文件中,就像这样
from coltrane.models import Entry
我不知道这是否重要,但出于某种原因,pyCharm 说 coltrane 是一个未解决的参考,我不知道这是否会影响它。我像这样将它们包含在根目录中
from django.conf.urls.defaults import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
from coltrane.models import Entry
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'cms.views.home', name='home'),
# url(r'^cms/', include('cms.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
url(r'^heart/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^heart/', include(admin.site.urls)),
url(r'^weblog/', include('coltrane.urls.entries')),
url(r'^weblog/categories/', include('coltrane.urls.categories')),
url(r'^weblog/links/', include('coltrane.urls.links')),
url(r'^weblog/tags/', include('coltrane.urls.entries')),
url(r'^search/$', 'cms.search.views.search'),
#url(r'', include('django.contrib.flatpages.urls')),
)
我也在使用 virtualenv 来开发它。当我运行开发服务器时,我可以加载并收到错误说明,
/heart/ 处的模板语法错误 渲染时发现配置不当:包含的 urlconf coltrane.urls 中没有>任何模式
我不知道是什么原因造成的,或者为什么它无法识别 urls 文件夹我有一个空白的 __init__.py
文件以确保 django 注意到它,但它仍然不会。
【问题讨论】:
【参考方案1】:这可能只是您的回答中的一个错字,但 init.py
应该是 __init__.py
【讨论】:
是的,这是一个错字。我想得越多,我认为它与整个未解决的参考部分有关,但我不确定。【参考方案2】:我认为包含应该以“url”开头?
【讨论】:
【参考方案3】:您不能调用文件夹 urls,因为这与文件 urls.py 冲突。将文件夹更改为 app_urls 或类似的东西,这应该可以解决它
【讨论】:
【参考方案4】:这可能是因为您在同一个包中有 urls.py 和一个名为 urls 的目录。您不能让它们都具有相同的名称。您需要更改其中任何一个,或者您可以将 urls.py 的内容复制到 urls/__init__.py 并删除 urls.py
【讨论】:
以上是关于试图在 django 项目的 urls 文件夹中包含 url 模式的主要内容,如果未能解决你的问题,请参考以下文章