[править: спасибо, что задали правильный вопрос - я из-за сорняков, пытаюсь его решить]
Я пытаюсь добавить Wagtail в существующее приложение Django. Часть сайта с трясогузкой работает хорошо, но я хочу добавить пункт меню, который выводит вид страницы из существующего приложения. Кажется, я столкнулся с парой проблем.
Во-первых, если желаемой страницей, отличной от Wagtail, является 'foo', то у меня есть пункт меню с URL-адресом foo. При щелчке по пункту меню он идет по адресу // localhost: 8000 / wagtail_root / foo вместо // localhost: 8000 / foo. Я отправил вопрос по этому вопросу: Wagtail Menu генерирует неправильный пользовательский URL . Я пробовал варианты на целевом URL, не влияя на поведение.
После значительных попыток обойти это, я наконец-то добавил стандартную страницу трясогузки с шаблоном формы и кнопкой для перехода по нужному адресу.
Соответствующая строка в моем шаблоне:
<form action="{{ request.site.root_url }}/foo method="get">
...
Теперь у меня, похоже, есть две проблемы, с которыми я, возможно, столкнулся. Первым из них (и причиной этого поста) был неправильный URL сайта (используется порт 8001). Я работаю на одном сайте, но у меня есть локальная копия моего рабочего сайта (8001), установленная на моем компьютере разработчика, которую я использую для проверки перед отправкой на сайт продукта. Пытаясь обойти эту проблему, я, похоже, создаю недействительные URL вида:
// локальный: 8000 / Foo? Там нет параметров, и я не могу найти / избавиться от источника добавленного '?', В том числе с помощью Javascript и настройки window.location =
Извините за длинное объяснение. Надеюсь, это поможет, но в основном я пытаюсь понять и найти (правильный) подход к решению проблемы.
--Спасибо,
[конец редактирования]
В строке 106 wagtail.core.models это указывает на то, что find_for_request может не определить правильный порт для портов с большим номером (например, 8000 во время разработки).
В строке 49 вы можете изменить порт по умолчанию, но для этого потребуется изменить код трясогузки.
Я пытался определить, как изменить значение во время запуска, на основе индикатора, который я добавил в django.settings. Я попытался добавить изменения при начальной загрузке django.urls (верхний уровень) и в wagtail_hooks (не как ловушка, просто в модуле, предполагая, что он запускается при запуске трясогузки). Во всех случаях я потерпел неудачу. Можете ли вы предложить, где разместить код для настройки порта?
Thx,
--Don