Django

Obtenha o URL atual no modelo Django

Obtenha o URL atual no modelo Django
O template Django é usado para mostrar os dados do aplicativo para os usuários. Às vezes, ele recupera e exibe o URL atual no modelo. O URL atual pode ser exibido de diferentes maneiras, 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 a URL atual pode ser exibida 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 o Django versão 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 chamado geturlapp.

$ python3 manage.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ê já criou o usuário antes, não precisa executar o comando.

$ python3 manage.py cria superusuário

3. Adicione o nome do aplicativo no INSTALLED_APP parte de definições.py Arquivo.

INSTALLED_APPS = [

'geturlapp'
]

4. Crie uma pasta chamada modelos dentro de geturlapp pasta e definir o modelos localização do aplicativo no MODELOS parte de definições.py Arquivo.

MODELOS = [

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

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 seguinte script para exibir o nome de domínio do URL atual apenas.

índice.html


Leia o nome do domínio


O nome de domínio do URL atual = showURL



Crie o índice2.html arquivo com o seguinte script para exibir o nome de domínio com o caminho do URL atual.

índice2.html


Leia o URL atual

>

O nome de domínio do URL atual = showURL



Crie o índice3.html arquivo com o seguinte script para exibir o nome de domínio com o caminho e http do URL atual.

índice3.html


Leia o 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 do URL atual em três formatos diferentes para o modelo. O geturl1 () função foi definida para recuperar o nome de domínio do URL atual e enviá-lo para o índice.html Arquivo. Solicitação.get_host () função foi usada para recuperar o nome de domínio do URL atual. O geturl2 () função foi definida para recuperar o nome de domínio com o caminho do URL atual e enviá-lo para o índice2.html Arquivo. Por outro lado, solicite.O atributo path foi usado com o pedido.função get_host () para ler o caminho com o nome de domínio do URL atual. O geturl3 () função foi definida para recuperar o nome de domínio com o http e o caminho do URL atual e enviá-lo para o índice3.html Arquivo. solicitação._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.html

# Importar módulo de renderização
de django.importação de atalhos renderização
# Leia apenas o nome de domínio do URL atual
def geturl1 (solicitação):
urlObject = pedido.get_host ()
retornar render (pedido, 'índice.html ', ' showURL ': urlObject)
# Leia o nome do domínio com o caminho
def geturl2 (solicitação):
urlObject = pedido.get_host () + solicitação.caminho
retornar render (pedido, 'index2.html ', ' showURL ': urlObject)
# Leia o nome do domínio com o http e o caminho
def geturl3 (solicitação):
urlObject = pedido._current_scheme_host + pedido.caminho
retornar render (pedido, '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.caminho de importação de urls
# Vista de importação
de visualizações de importação geturlapp
# Defina caminhos para ler o URL atual
urlpatterns = [
# Exibir o nome do domínio no modelo
caminho (", visualizações.geturl1),
# Mostra o nome do domínio com o caminho no modelo
caminho ('índice2', visualizações.geturl2),
# Exibe o nome do domínio com http e caminho no modelo
caminho ('index3', visualizações.geturl3),
]

Resultado:

Execute o seguinte comando para iniciar o servidor Django.

$ python3 manage.py runserver

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

http: // localhost: 8000

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

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

http: // localhost: 8000 / index2

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

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

http: // localhost: 8000 / index3

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

Conclusão:

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

Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...