#python #django #django-urls #django-commands
#python #django #django-urls #django-команды
Вопрос:
Мы используем обратное в django, чтобы получить URL, например. —
my_url = reverse("name_of_url", kwargs={"param":param, "param2":param2})
В приведенном выше случае my_url
будет иметь вид /path1/path2/..
Если я хочу сгенерировать что- www.mysite.com/path1/path2/
нам нужно сделать следующее —
my_url = request.build_absolute_uri(reverse("name_of_url", kwargs={"param":param, "param2":param2}))
Это даст URL-адрес в желаемом формате. Но проблема в том, что я генерирую URL-адрес внутри пользовательской команды управления и не имею доступа к request
переменной. Есть ли какой-либо способ, я могу сгенерировать URL-адрес в формате — www.mysite.com/path1/path2/
.
Ответ №1:
Нет, насколько я знаю, нет способа сделать это из команды управления. Как вы сами поняли, вы используете часть request
информации для создания полного URL-адреса, и когда вы запускаете команду управления из консоли, запроса нет.
Что я сделал в своих проектах, так это настроил переменную, вызываемую BASE_URL
в settings
вашем базовом домене, и использовал ее для создания вашего URL.
Вы также можете проверить структуру сайтов:https://docs.djangoproject.com/en/dev/ref/contrib/sites /