Начиная с django-2.0 , был введен новый синтаксис, так что вы можете записывать параметры, такие как <int:id>
, но это не , применимое в конструкциях url(..)
, здесь вынеобходимо записать путь в синтаксисе, подобном регулярному выражению, чтобы вы могли указать URL-адрес следующим образом:
# before Django-2.0
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^about/<b>$</b>', views.aboutus, name='aboutus'),
url(r'^specialoffers/<b>$</b>', views.offers, name='offers'),
url(r'^contactus/<b>$</b>', views.contact, name='contact'),
url(r'^excursions/<b>$</b>', views.excursions, name='excursions'),
url(r'^singleexcursion/<b>(?P<id>\d+)</b>/', views.singleexcur, name='singleexcur'),
url(r'^booking/<b>$</b>', views.booking, name='booking'),
url(r'^confirmation/<b>$</b>', views.confirming, name='confirming'),
url(r'^payment/<b>$</b>', views.payment, name='payment'),
]
Или в django-2.0 и выше вы можете использовать path(..)
[Джанго-док] .Вы можете чередовать его с помощью re_path(..)
[Django-doc] , которое является новым именем url(..)
, так как url(..)
[Django-doc] , вероятно, в конечном итоге будет удалено.
Например:
# Django-2.0 and above
urlpatterns = [
<b>re_path(</b>r'^$', views.home, name='home'<b>)</b>,
<b>re_path(</b>r'^about/$', views.aboutus, name='aboutus'<b>)</b>,
<b>re_path(</b>r'^specialoffers/$', views.offers, name='offers'<b>)</b>,
<b>re_path(</b>r'^contactus/$', views.contact, name='contact'<b>)</b>,
<b>re_path(</b>r'^excursions/$', views.excursions, name='excursions'<b>)</b>,
<b>path(</b>'singleexcursion/<b><int:id></b>/', views.singleexcur, name='singleexcur'<b>)</b>,
<b>re_path(</b>r'^booking/$', views.booking, name='booking'<b>)</b>,
<b>re_path(</b>r'^confirmation/$', views.confirming, name='confirming'<b>)</b>,
<b>re_path(</b>r'^payment/$', views.payment, name='payment'<b>)</b>,
]