我只是在 http://docs.djangoproject.com/en/dev/ref/contrib/flatpages/ 之后设置了 django 的平面应用程序
一切都很好,但是当我链接到一个平面页面时,我总是得到:
Page not found (404)
Request Method: GET
Request URL: http://example.com/about/
[..]
The current URL, about/, didn't match any of these.
那是什么?什么可能导致此错误?
提前致谢...
最佳答案
您的 MIDDLEWARE_CLASSES 列表中是否有 FlatpageFallbackMiddleware?
您的数据库中肯定有一个在 URL 字段中带有/about/的平面页面吗?
平面页面是否链接到正确的 Site 对象?它必须链接到具有与 settings.py 中的 SITE_ID 匹配的数字 ID 的 Site 对象。在这种情况下,Site 对象的实际名称/域无关紧要,它只是您必须注意的数字 ID。根据我的经验,这是导致平面页面莫名其妙丢失的最常见原因。
您粘贴的 404 中的请求 URL“http://example.com/about/”令人困惑 - 我假设您将其放在那里是为了隐藏您的实际域?因为如果实际请求 URL 位于 example.com,您将不会获得此 Django 调试页面。
关于django - 什么可能导致 flatpages 中的 Page Not Found 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1381774/