variable template tag registered one not must library ifequal python django django-class-based-views urlconf url-pattern

python - template - Django, parámetro de nombre en los patrones url



ifequal django (1)

Estoy siguiendo un tutorial donde mis patrones url son:

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..., )

Se supone que PasswordListView y PasswordInstanceView son vistas basadas en clase. No pude entender el significado del parámetro de nombre . ¿Es un parámetro predeterminado pasado a la vista?


No. Es solo que django te da la opción de nombrar tus vistas en caso de que necesites consultarlas desde tu código o tus plantillas. Esta es una práctica útil y buena porque evita las URL de codificación rígida en su código o dentro de sus plantillas. Incluso si cambia la url real, no tiene que cambiar nada más, ya que se referirá a ellos por su nombre.

ex con vistas:

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)

Más here .

ex en plantillas

<p>Please go <a href="{% url ''passwords_api_root'' %}">here</a></p>

Más here .