Obtenga la URL actual en la plantilla de Django

Obtenga la URL actual en la plantilla de Django
La plantilla de Django se utiliza para mostrar los datos de la aplicación para los usuarios. A veces, se recupera y muestra la URL actual en la plantilla. La URL actual se puede mostrar de diferentes maneras, 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 puede mostrar la URL actual en la plantilla de Django en diferentes formatos.

Prerrequisitos:

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

  1. Instale la versión 3+ de Django en Ubuntu 20+ (preferiblemente)
  2. Crear un proyecto Django
  3. Ejecute el servidor Django para verificar que el servidor funcione correctamente o no.

Configurar una aplicación Django:

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

$ python3 gestionar.py startapp geturlapp

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

$ python3 gestionar.py createuperuser

3. Agregue el nombre de la aplicación en el Instalado_app parte de ajustes.py archivo.

Instalado_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 archivo.

Plantillas = [

… .
'Dirs': ['/home/fahmida/django_pro/validationApp/plantlates']],
… .
,
]

Crear y modificar los archivos necesarios:

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

Crear el índice.html Archivo con el siguiente script para mostrar el nombre de dominio de la URL actual solo.

índice.html


Leer el nombre de dominio


El nombre de dominio de la url actual = showurl



Crear el índice2.html Archivo con el siguiente script 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



Crear el índice3.html Archivo con el siguiente script para mostrar el nombre de dominio con la ruta y http de la URL actual.

índice3.html


Lea la URL actual con HTTP


El nombre de dominio de la url actual = showurl



Modificar el puntos de vista.py archivo del geturlapp carpeta con el siguiente script. Se habían definido tres funciones en el script para devolver el valor de URL actual en tres formatos diferentes a la plantilla. El getURL1 () La función se ha definido para recuperar el nombre de dominio de la URL actual y enviarlo a la índice.html archivo. Pedido.get_host () La función se ha utilizado para recuperar el nombre de dominio de la URL actual. El getURL2 () La función se ha definido para recuperar el nombre de dominio con la ruta de la URL actual y enviarla a la índice2.html archivo. 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. El getURL3 () la función se ha definido para recuperar el nombre de dominio con el http y el camino de la URL actual y envíelo al índice3.html archivo. 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.py

# Módulo de renderizado de importación
de Django.Rénero de importación de atajos
# Lea solo el nombre de dominio de la URL actual
Def getUrl1 (solicitud):
urlobject = solicitud.get_host ()
devolver render (solicitud, 'Índice.html ', ' showurl ': urlobject)
# Lea el nombre de dominio con la ruta
Def getUrl2 (solicitud):
urlobject = solicitud.get_host () + solicitud.camino
return render (solicitud, 'índice2.html ', ' showurl ': urlobject)
# Lea el nombre de dominio con el http y la ruta
Def getUrl3 (solicitud):
urlobject = solicitud._current_scheme_host + solicitud.camino
return render (solicitud, 'índice3.html ', ' showurl ': urlobject)

Modificar el URLS.py archivo del geturlapp carpeta con el siguiente script. Se habían definido tres rutas en el script para acceder a las tres funciones del archivo de vista. La ruta de cadena vacía (") se usará para llamar al getURL1 () función. El 'index2' la ruta se usará para llamar al getURL2 () función. El 'index3' la ruta se usará para llamar al getURL3 () función.

URLS.py

# Módulo de ruta de importación
de Django.ruta de importación de URLS
# Vista de importación
Desde las vistas de importación de Geturlapp
# Definir rutas para leer URL actual
urlpatterns = [
# Muestra el nombre de dominio en la plantilla
ruta (", Vistas.getUrl1),
# Muestra el nombre de dominio con ruta en la plantilla
ruta ('index2', vistas.getUrl2),
# Muestra el nombre de dominio con http y ruta en la plantilla
ruta ('index3', vistas.getUrl3),
]

Producción:

Ejecute el siguiente comando para iniciar el servidor Django.

$ python3 gestionar.py runserver

Ejecute la siguiente URL del navegador para mostrar el nombre de dominio de la URL actual. El getURL1 () se solicitará la función para esta URL que enviará el nombre de dominio al índice.html archivo.

http: // localhost: 8000

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

Ejecute la siguiente URL del navegador para mostrar el nombre de dominio con la ruta de la URL actual. El getURL2 () se solicitará la función para esta URL que enviará el nombre de dominio con la ruta al índice2.html archivo.

http: // localhost: 8000/index2

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

Ejecute la siguiente URL del navegador para mostrar el nombre de dominio con el HTTP y la ruta de la URL actual. El getURL3 () Se solicitará la función para esta URL que enviará el nombre de dominio con el HTTP y la ruta al índice3.html archivo.

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 utilizando el método y los atributos del objeto de solicitud. Se habían creado tres plantillas en este tutorial para mostrar la URL actual de tres maneras diferentes que ayudarán a los lectores a conocer la forma de leer la URL actual en la plantilla de Django.