Джанго Абсолютный URL - PullRequest
       1

Джанго Абсолютный URL

0 голосов
/ 01 февраля 2019

Так что я новичок в django. Я работаю над PHP CodeIgniter, в котором для помещения абсолютного URL в href я использовал функцию с именем base_url, вызывая хелпер URL

<?php echo base_url().'user/login';?>


который выдает что-то вроде
http://localhost/projectname/user/login
Я хочу то же самое в Django, но у меня нет ответа или ответа, который я мог бы понять.Я не хочу использовать относительный URL, и мой ожидаемый результат должен быть примерно таким:

{% url 'login' %}


приведенный выше код должен возвращать
http://localhost/projectname/user/login

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Вы можете получить абсолютный URL двумя способами в Django.

Одним из них является создание собственного пользовательского тега шаблона с помощью метода HttpRequest.build_absolute_uri() из HttpRequest

Или просто используйте следующую строку в шаблоне django.

<a href="{{ request.get_host }}{% url your_url_name %}">Link</a>

См. Эту ссылку длядетали: https://docs.djangoproject.com/en/2.1/ref/request-response/#django.http.HttpRequest.get_host

0 голосов
/ 01 февраля 2019

Если у вас есть URL-путь в вашем urls.py файле, определенном так:

path('user/', views.user, name='user_list')

Тогда вы можете вызвать этот URL в шаблоне следующим образом:

<a href="{% url 'user_list' %}">Users</a>

Проверьте https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#url для подробностей.

Для абсолютного URL вы можете использовать:

<a href="{{ request.get_host }}{% url 'user_list' %}">Users</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...