#python #django #django-models #django-templates #django-urls
#python #django #django-модели #django-шаблоны #django-urls
Вопрос:
Что вызывает синтаксическую ошибку в этом urls.py ?
В нем говорится
syntax error at Line 27[(r'^xd_receiver.html$',.....] in ursl.py.
Я не могу понять, в чем проблема.
urlpatterns = patterns('',
# Example:
# (r'^universityDB/', include('universityDB.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
(r'^registrationForm/$','universityDB.universityDetails.views.registrationForm'),
(r'^userDetails/$','universityDB.universityDetails.views.userDetails'),
(r'^login/$','universityDB.universityDetails.views.login'),
(r'^userCreated/$','universityDB.universityDetails.views.userCreated'),
(r'^forgotPassword/$','universityDB.universityDetails.views.forgotPassword'),
(r'^passwordRecovery/$','universityDB.universityDetails.views.passwordRecovery'),
(r'^accounts/profile', 'universityDB.universityDetails.views.profile'),
(r'^xd_receiver.html$', direct_to_template, {'template': 'xd_receiver.html'}, name='xd_receiver'),
(r'^login_facebook_connect/$', 'login_facebook_connect', name='facebook_connect_ajax'),
)
Ответ №1:
Если вы хотите присвоить имена своим URL-адресам, вы должны использовать url(...)
функцию, т.е.
url(r'^xd_receiver.html$', direct_to_template, {'template': 'xd_receiver.html'}, name='xd_receiver')
… вместо:
(r'^xd_receiver.html$', direct_to_template, {'template': 'xd_receiver.html'}, name='xd_receiver')
Комментарии:
1. одно уточнение: нет никакой силы или необходимости использовать
url()
. вы можете просто написать(r'^xd_receiver.html$', direct_to_template, {'template': 'xd_receiver.html'}, 'xd_receiver')
, который будет работать нормально (используя кортежи)