Может кто-нибудь объяснить, почему это работает:Django {% URL%} ведет себя странно
<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>
Я получаю ошибку 500 с ImportError в/индексе/Нет модуля с именем 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}),
)
Вот URL-адрес: url (r '^ index /', 'projects.views.index', name = 'index'), – jford
Попробуйте просто 'index' вместо' projects.views.index' там в URL-адресе в шаблоне. –
Пробовал. Такая же ошибка. Использует ли только индекс, зависящий от наличия параметра name = 'index' в URL-адресе? – jford