Django

Obtener la URL actual en la plantilla de Django

Obtener la URL actual en la plantilla de Django
La plantilla de Django se utiliza para mostrar los datos de la aplicación a los usuarios. A veces recupera y muestra la URL actual en la plantilla. La URL actual se puede mostrar de diferentes formas, como solo el nombre de dominio, un nombre de dominio con ruta y el nombre de dominio con ruta y http. En este tutorial se mostrará cómo se puede mostrar la URL actual en la plantilla de Django en diferentes formatos.

Requisitos previos:

Antes de practicar el guión de este tutorial, debe completar las siguientes tareas;

  1. Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
  2. Crea un proyecto de Django
  3. Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no.

Configura una aplicación Django:

1. Ejecute el siguiente comando para crear una aplicación Django llamada geturlapp.

$ python3 administrar.py startapp geturlapp

2. Ejecute el siguiente comando para crear el usuario que se utilizará para acceder a la base de datos de Django. Si ha creado el usuario antes, no necesita ejecutar el comando.

$ python3 administrar.py crea superusuario

3. Agregue el nombre de la aplicación en el INSTALLED_APP parte de ajustes.py expediente.

INSTALLED_APPS = [
..
'geturlapp'
]

4. Crea una carpeta llamada plantillas dentro de geturlapp carpeta y configure el plantillas ubicación de la aplicación en el PLANTILLAS parte de ajustes.py expediente.

PLANTILLAS = [

.. .
'DIRS': ['/ home / fahmida / django_pro / validationapp / templates'],
.. .
,
]

Cree y modifique los archivos necesarios:

Se crearon tres archivos HTML diferentes en esta parte de este tutorial para mostrar la URL actual en tres formatos diferentes.

Crea el índice.html archivo con la siguiente secuencia de comandos para mostrar solo el nombre de dominio de la URL actual.

índice.html


Leer nombre de dominio


El nombre de dominio de la URL actual = showURL



Crea el índice2.html archivo con la siguiente secuencia de comandos para mostrar el nombre de dominio con la ruta de la URL actual.

índice2.html


Leer URL actual

>

El nombre de dominio de la URL actual = showURL



Crea el índice3.html archivo con la siguiente secuencia de comandos para mostrar el nombre de dominio con la ruta y http de la URL actual.

índice3.html


Leer URL actual con HTTP


El nombre de dominio de la URL actual = showURL



Modificar el puntos de vista.py archivo de la geturlapp carpeta con el siguiente script. Se han definido tres funciones en el script para devolver el valor de la URL actual en tres formatos diferentes a la plantilla. La geturl1 () Se ha definido la función para recuperar el nombre de dominio de la URL actual y enviarlo a la índice.html expediente. Pedido.get_host () La función se ha utilizado para recuperar el nombre de dominio de la URL actual. La geturl2 () Se ha definido la función para recuperar el nombre de dominio con la ruta de la URL actual y enviarlo a la índice2.html expediente. Por otro lado, solicite.El atributo de ruta se ha utilizado con la solicitud.función get_host () para leer la ruta con el nombre de dominio de la URL actual. La geturl3 () Se ha definido la función para recuperar el nombre de dominio con la http y la ruta de la URL actual y enviarla a la índice3.html expediente. pedido._current_scheme_host El atributo se ha utilizado para recuperar el nombre de dominio con http. El valor de retorno de cada función se pasará a la plantilla utilizando el showURL etiqueta.

puntos de vista.html

# Importar módulo de renderizado
de django.importación de atajos render
# Leer solo el nombre de dominio de la URL actual
def geturl1 (solicitud):
urlObject = solicitud.get_host ()
return render (solicitud, 'índice.html ', ' showURL ': urlObject)
# Leer el nombre de dominio con la ruta
def geturl2 (solicitud):
urlObject = solicitud.get_host () + solicitud.camino
return render (solicitud, 'index2.html ', ' showURL ': urlObject)
# Lea el nombre de dominio con http y ruta
def geturl3 (solicitud):
urlObject = solicitud._current_scheme_host + solicitud.camino
return render (solicitud, 'index3.html ', ' showURL ': urlObject)

Modificar el urls.py archivo de la geturlapp carpeta con el siguiente script. Se han definido tres rutas en el script para acceder a las tres funciones del archivo de vista. La ruta de la cadena vacía (”) se utilizará para llamar al geturl1 () función. La 'índice2' La ruta se utilizará para llamar al geturl2 () función. La 'índice3' La ruta se utilizará para llamar al geturl3 () función.

urls.py

# Módulo de ruta de importación
de django.ruta de importación de URL
# Vista de importación
desde vistas de importación de geturlapp
# Definir rutas para leer la URL actual
urlpatterns = [
# Muestra el nombre de dominio en la plantilla
ruta (", vistas.geturl1),
# Muestra el nombre de dominio con la ruta en la plantilla
ruta ('index2', vistas.geturl2),
# Muestra el nombre de dominio con http y la ruta en la plantilla
ruta ('index3', vistas.geturl3),
]

Producción:

Ejecute el siguiente comando para iniciar el servidor Django.

$ python3 administrar.py runserver

Ejecute la siguiente URL desde el navegador para mostrar el nombre de dominio de la URL actual. La geturl1 () Se llamará a la función para esta URL que enviará el nombre de dominio al índice.html expediente.

http: // localhost: 8000

La siguiente salida aparecerá después de ejecutar el script.

Ejecute la siguiente URL desde el navegador para mostrar el nombre de dominio con la ruta de la URL actual. La geturl2 () Se llamará a la función para esta URL que enviará el nombre de dominio con la ruta al índice2.html expediente.

http: // localhost: 8000 / index2

La siguiente salida aparecerá después de ejecutar el script. Aquí, el camino es índice2.

Ejecute la siguiente URL desde el navegador para mostrar el nombre de dominio con http y la ruta de la URL actual. La geturl3 () Se llamará a la función para esta URL que enviará el nombre de dominio con el http y la ruta al índice3.html expediente.

http: // localhost: 8000 / index3

La siguiente salida aparecerá después de ejecutar el script. Aquí, el camino es índice3.

Conclusión:

La URL actual se puede mostrar en la plantilla de Django usando el método y los atributos del objeto de solicitud. En este tutorial se han creado tres plantillas para mostrar la URL actual de tres formas diferentes que ayudarán a los lectores a conocer la forma de leer la URL actual en la plantilla de Django.

Herramientas útiles para jugadores de Linux
Si le gusta jugar juegos en Linux, es probable que haya utilizado aplicaciones y utilidades como Wine, Lutris y OBS Studio para mejorar la experiencia...
Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...
Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...