Una plantilla de Django es un documento de texto o una string de Python marcada con el lenguaje de plantillas de Django. Django, al ser un poderoso marco de trabajo incluido en las baterías, brinda comodidad para representar datos en una plantilla. Las plantillas de Django no solo permiten pasar datos de la vista a la plantilla, sino que también proporcionan algunas características limitadas de programación, como variables, bucles for, comentarios, extensiones, URL, etc.
Este artículo trata sobre cómo usar la etiqueta de URL en Plantillas. url
etiqueta Devuelve una referencia de ruta absoluta (una URL sin el nombre de dominio) que coincide con una vista dada y parámetros opcionales. Esta es una forma de generar enlaces sin violar el principio SECO al tener que codificar las URL en sus plantillas:
Sintaxis
{% url 'some-url-name' v1 v2 %}
El primer argumento es un nombre de patrón de URL. Puede ser un literal entrecomillado o cualquier otra variable de contexto. Los argumentos adicionales son opcionales y deben ser valores separados por espacios que se usarán como argumentos en la URL.
Ejemplo
{% url 'template1' %}
url – Plantilla de Django Etiquetas Explicación
Ilustración de cómo usar la etiqueta url en las plantillas de Django usando un ejemplo. Considere un proyecto llamado geeksforgeeks
que tiene una aplicación llamada geeks
.
Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django.
Ahora crea dos vistas a través de las cuales accederemos a la plantilla,
En geeks/views.py
,
# import Http Response from django from django.shortcuts import render # create a function def geeks_view(request): # return response return render(request, "geeks.html") def nav_view(request): # return response return render(request, "nav.html")
Cree una ruta de URL para asignar a esta vista. Las URL deben tener un nombre que luego se pueda usar en plantillas y con la etiqueta de URL . en geeks/urls.py
,
from django.urls import path # importing views from views..py from .views import geeks_view, nav_view urlpatterns = [ path('1/', geeks_view, name = "template1"), path('2/', nav_view, name = "template2"), ]
Ahora vamos a crear dos plantillas para demostrar ahora la etiqueta . Crear una plantilla en geeks.html
,
<html> <h1>Template 1</h1> <!-- Link to template 2 --> <a href = "{% url 'template2' %}">Go to template 2</a> </html>
Crear una plantilla en geeks.html
,
<html> <<h2>Template 2</h2> <!-- Link to template 1 --> <a href = "{% url 'template1' %}">Go to template 1</a> </html>
Ahora visite http://127.0.0.1:8000/1 ,
Click on the link and it will redirect to other url.
Uso avanzado
Suponga que tiene una vista, app_views.client , cuya URLconf toma una ID de cliente (aquí, client() es un método dentro del archivo de vistas app_views.py). La línea URLconf podría verse así:
path('client/<int:id>/', app_views.client, name='app-views-client')
Si la URLconf de esta aplicación se incluye en la URLconf del proyecto en una ruta como esta:
path('clients/', include('project_name.app_name.urls'))
… luego, en una plantilla, puede crear un enlace a esta vista como este:
{% url 'app-views-client' client.id %}
La etiqueta de la plantilla generará la string /clients/client/123/.
¿Escribir código en un comentario? Utilice ide.geeksforgeeks.org , genere un enlace y compártalo aquí.
Publicación traducida automáticamente
Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA