有人可以解释为什么这样做:
<li><a href="/index/">HOME</a></li>
<li><a href="/project/">PROJECTS</a></li>
虽然这不是:
<li><a href="{% url projects.views.index %}">HOME</a></li>
<li><a href="{% url projects.views.project %}">PROJECTS</a></li>
我在 /index/ No module named project 处收到 ImportError 的 500 错误,但是我没有尝试在任何地方导入项目。(我正在导入 Project,它已经导入好几天了,当我不使用 {% url %} 样式链接时工作正常)。我在这里看到了许多答案和其他地方的博客文章表明 {% url %} 是个坏主意。如有必要,我很乐意停止使用它们,但对于我的生活,我无法看到错误来自哪里。
urls.py 的内容
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.views.static import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^index/', 'projects.views.index', name='index'),
url(r'^login/', 'project.views.login', name='login'),
url(r'^project/(?P<project_id>\d+)/$', 'projects.views.project', name='project'),
url(r'^project/', 'projects.views.project', name='project'),
url(r'^sched/(?P<project_id>\d+)/$', 'projects.views.schedule'),
url(r'^luminaires/(?P<project_id>\d+)/$', 'projects.views.luminaires'),
url(r'^luminaire/(?P<project_id>\d+)/(?P<luminaire_id>\d+)/$', 'projects.views.luminaire'),
url(r'^deleteproject/(?P<project_id>\d+)/$', 'projects.views.deleteproject', name = 'deleteproject'),
url(r'^admin/', include(admin.site.urls)),
# Examples:
# url(r'^$', 'relume.views.home', name='home'),
# url(r'^relume/', include('relume.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes':True}),
)