[edit:提出正确问题的要诀-我在试图解决问题的杂草丛中] 我正在尝试将Wagtail添加到现有的Django应用程序中。该网站的Wagtail部分运行良好,但我想添加一个菜单项,以调出现有应用程序的页面视图。我似乎遇到了两个问题。
首先,如果所需的非Wagtail页面是'foo',则我有一个菜单项,其url地址为foo。单击菜单项时,它将转到地址/// localhost:8000 / wagtail_root / foo而不是// localhost:8000 / foo。我对此发布了一个问题:Wagtail Menu generates incorrect Custom URL。我已经尝试在目标网址上使用变体,但对行为没有影响。
在进行了很多尝试之后,我终于添加了带有表单模板和按钮的标准Wagtail页面,以转到所需的地址。
模板中的相关行是:
<form action="{{ request.site.root_url }}/foo method="get">
...
我现在似乎有两个我可能已经混淆的问题。第一个(也是引起该问题的原因)是错误的网站网址(使用端口8001)。我正在运行一个站点,但确实在我的dev机器上安装了生产站点(8001)的本地副本,用于在推送到生产站点之前进行检查。在尝试解决此问题时,我似乎产生了以下形式的无效网址:
//本地主机:8000 / foo?没有参数,我似乎找不到/摆脱附加的“?”的来源,包括使用Javascript和设置window.location =
很抱歉,冗长的解释。希望这会有所帮助,但主要是我试图理解并找到解决问题的(正确)方法。 - 谢谢, [结束编辑]
在wagtail.core.models第106行中,它表明find_for_request可能无法确定高编号端口(例如,开发期间的8000)的正确端口。 在第49行中,您可以修改默认端口,但是这需要修改wagtail代码。
我一直试图根据我添加到django.settings中的指示符来确定如何在启动期间修改值。我尝试在django.urls(顶级)的初始加载和wagtail_hooks(不是钩子,只是在假定它在wagtail启动时运行的模块中)中添加了更改。在所有情况下,我都失败了。您能建议在哪里放置代码来调整端口吗?
Thx, -唐