Django, параметр name в urlpatterns
Я следую учебнику, где мои urlpatterns:
urlpatterns = patterns('',
url(r'^passwords/$', PasswordListView.as_view(), name='passwords_api_root'),
url(r'^passwords/(?P<id>[0-9]+)$', PasswordInstanceView.as_view(), name='passwords_api_instance'),
...other urls here...,
)
на PasswordListView и PasswordInstanceView предполагается, что это представления на основе классов. Я не мог понять, что означает это"!--8-->имя
1 ответов
нет. Просто django дает вам возможность назвать ваши представления, если вам нужно обратиться к ним из вашего кода или ваших шаблонов. Это полезно и полезно, потому что вы избегаете жесткого кодирования URL-адресов в коде или внутри шаблонов. Даже если вы измените фактический url-адрес, вам не нужно ничего менять, так как вы будете ссылаться на них по имени.
e.x с видами:
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
def myview(request):
passwords_url = reverse('passwords_api_root') # this returns the string `/passwords/`
return HttpResponseRedirect(passwords_url)
больше здесь.
Эл.х. в шаблоны
<p>Please go <a href="{% url 'passwords_api_root' %}">here</a></p>
больше здесь.