AttributeError:'WSGIRequest'对象没有属性'site' - wagtail,wagalytics

Ben*_*ayo 1 django wagtail

我正在尝试在我的新 wagtail 网站( https://github.com/tomdyson/wagalytics )中实现 wagalytics 。

我的错误出现在views.py的第138行

site = Site.objects.get(hostname=request.site.hostname)
Run Code Online (Sandbox Code Playgroud)

AttributeError: 'WSGIRequest' object has no attribute 'site'

当我将其更改为类似的东西时

try:
    site = Site.objects.get(hostname=request.site.hostname)
except:
    site = '127.0.0.1'
Run Code Online (Sandbox Code Playgroud)

它有效——或者至少让我解决了下一个问题。

显然,我不想将 try/ except 块切入生产中的代码中 - 而且我最好了解这里发生的情况以及如何解决它。

Dan*_*ain 6

请参阅Wagtail 2.9 发行说明。今后您应该在模板和python 代码中使用{% wagtail_site %}or 。{{ page.get_site}}Site.find_for_request(request)