Получение корневого URL в Django - PullRequest
2 голосов
/ 05 февраля 2012

На мой взгляд, я хочу сделать запрос к mine.com/more/stuff/ с произвольной страницы, такой как mine.com/lots/of/stuff/to/use или mine.com.Таким образом, я не могу сделать это относительным запросом, используя вещи типа ./ или ./../.Должен ли я использовать контекстный процессор, чтобы сделать {{URL_BASE}}more/stuff/?Есть ли определенный способ сделать это в Django или лучший способ?

Ответы [ 2 ]

8 голосов
/ 05 февраля 2012

почему вы не используете именованные URL?это всегда работает.например, {% url 'admin:index' %} всегда печатается как URL для администратора (в случае, если вы используете приложение django.contrib.admin по умолчанию).если у вас есть в urls.py что-то вроде

url(r'^lots/', Lots.as_view(), name='lots'),

, просто используйте что-то вроде

{% url 'lots' %}

Не задавайте жестко свои URL-адреса!

5 голосов
/ 05 февраля 2012

Вместо относительного URL-адреса используйте абсолютный URL-адрес: /

Если вы используете mine.com/lots/of/stuff/to/use или mine.com, переход по ссылке с URL-адресом: /foo/ приведет к переходу на mine.com/foo/

...