Obtenha o URL atual no modelo Django

Obtenha o URL atual no modelo Django
O modelo Django é usado para exibir os dados do aplicativo para os usuários. Às vezes está recuperando e exibindo o URL atual no modelo. O URL atual pode ser exibido de maneiras diferentes, como apenas o nome de domínio, um nome de domínio com caminho e o nome de domínio com caminho e http. Como o URL atual pode ser exibido no modelo Django em diferentes formatos será mostrado neste tutorial.

Pré -requisitos:

Antes de praticar o script deste tutorial, você deve concluir as seguintes tarefas;

  1. Instale a versão Django 3+ no Ubuntu 20+ (de preferência)
  2. Crie um projeto Django
  3. Execute o servidor Django para verificar se o servidor está funcionando corretamente ou não.

Configure um aplicativo django:

1. Execute o seguinte comando para criar um aplicativo django nomeado geturlapp.

$ python3 gerencia.py startapp geturlapp

2. Execute o seguinte comando para criar o usuário que será usado para acessar o banco de dados Django. Se você criou o usuário antes, não precisa executar o comando.

$ python3 gerencia.py createSuperUser

3. Adicione o nome do aplicativo no Instalado_app parte de configurações.py arquivo.

Instalado_apps = [
..
'geturlapp'
]

4. Crie uma pasta chamada modelos dentro de geturlapp pasta e defina o modelos Localização do aplicativo no MODELOS parte de configurações.py arquivo.

Modelos = [

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

Crie e modifique os arquivos necessários:

Três arquivos HTML diferentes foram criados nesta parte deste tutorial para exibir o URL atual em três formatos diferentes.

Crie o índice.html Arquivo com o script a seguir para exibir o nome de domínio do URL atual.

índice.html


Leia o nome do domínio


O nome de domínio do URL atual = Showurl



Crie o index2.html Arquivo com o script a seguir para exibir o nome de domínio com o caminho do URL atual.

index2.html


Leia URL atual

>

O nome de domínio do URL atual = Showurl



Crie o index3.html Arquivo com o script a seguir para exibir o nome de domínio com o caminho e HTTP do URL atual.

index3.html


Leia URL atual com HTTP


O nome de domínio do URL atual = Showurl



Modifique o Visualizações.py arquivo do geturlapp pasta com o seguinte script. Três funções foram definidas no script para retornar o valor atual da URL em três formatos diferentes para o modelo. O geturl1 () A função foi definida para recuperar o nome de domínio do URL atual e enviá -lo para o índice.html arquivo. Solicitar.get_host () A função tem sido usada para recuperar o nome de domínio do URL atual. O geturl2 () A função foi definida para recuperar o nome de domínio com o caminho do URL atual e enviá -lo para o index2.html arquivo. Por outro lado, solicitação.O atributo de caminho foi usado com o pedido.função get_host () para ler o caminho com o nome de domínio do URL atual. O geturl3 () a função foi definida para recuperar o nome de domínio com o http e o caminho do URL atual e envie -o para o index3.html arquivo. solicitar._current_scheme_host atributo foi usado para recuperar o nome de domínio com http. O valor de retorno de cada função será passado para o modelo usando o Showurl marcação.

Visualizações.py

# Importar módulo de renderização
de Django.Atalhos de importação renderizar
# Leia apenas o nome de domínio do URL atual
def geturl1 (solicitação):
urlObject = solicitação.get_host ()
render renderização (solicitação, 'índice.html ', ' showurl ': urlobject)
# Leia o nome de domínio com o caminho
def geturl2 (solicitação):
urlObject = solicitação.get_host () + solicitação.caminho
render renderização (solicitação, 'index2.html ', ' showurl ': urlobject)
# Leia o nome de domínio com o HTTP e o caminho
def geturl3 (solicitação):
urlObject = solicitação._current_scheme_host + solicitação.caminho
render renderização (solicitação, 'index3.html ', ' showurl ': urlobject)

Modifique o URLs.py arquivo do geturlapp pasta com o seguinte script. Três caminhos foram definidos no script para acessar as três funções do arquivo de visualização. O caminho de string vazio (”) será usado para chamar o geturl1 () função. O 'index2' Caminho será usado para chamar o geturl2 () função. O 'index3' Caminho será usado para chamar o geturl3 () função.

URLs.py

# Módulo de caminho de importação
de Django.URLs Caminho de importação
# Importar visualização
de visualizações de importação geturlapp
# Defina caminhos para ler URL atual
urlpatterns = [
# Exiba o nome de domínio no modelo
caminho (", vistas.geturl1),
# Exiba o nome de domínio com caminho no modelo
caminho ('index2', visualizações.geturl2),
# Exiba o nome de domínio com http e caminho no modelo
caminho ('index3', visualizações.geturl3),
]

Saída:

Execute o seguinte comando para iniciar o servidor Django.

$ python3 gerencia.PY RUNSERVER

Execute o seguinte URL do navegador para exibir o nome de domínio do URL atual. O geturl1 () a função será chamada para este URL que enviará o nome de domínio para o índice.html arquivo.

http: // localhost: 8000

A saída a seguir aparecerá após a execução do script.

Execute o seguinte URL do navegador para exibir o nome de domínio com o caminho do URL atual. O geturl2 () a função será chamada para este URL que enviará o nome de domínio com o caminho para o index2.html arquivo.

http: // localhost: 8000/index2

A saída a seguir aparecerá após a execução do script. Aqui, o caminho é index2.

Execute o seguinte URL do navegador para exibir o nome de domínio com o HTTP e o caminho do URL atual. O geturl3 () A função será chamada para este URL que enviará o nome de domínio com o HTTP e o caminho para o index3.html arquivo.

http: // localhost: 8000/index3

A saída a seguir aparecerá após a execução do script. Aqui, o caminho é index3.

Conclusão:

O URL atual pode ser exibido no modelo Django usando o método e os atributos do objeto de solicitação. Três modelos foram criados neste tutorial para exibir o URL atual de três maneiras diferentes que ajudarão os leitores a conhecer a maneira de ler o URL atual no modelo Django.