Django Flatpage Giving 404 - 但一个 Flatpage 有效

Django Flatpage Giving 404 - But One Flatpage Works

使用 Django 1.9,Python3.4...

最近我修改了我的平面页面以使用 class_prepared 方法采用自定义字段:

http://docs.djangoproject.com/en/dev/ref/signals/#class-prepared

此时,我在URL /about/ 的数据库中已经有了一个平面页面。执行完上述操作后,我成功地用数据调整了新字段,一切正常。

但后来我在 /contact/ 添加了另一个带有自定义字段的平面页面,只是为了确保一切正常,它给出了 404。

我首先想到我的 URLConf 没有工作。所以我测试了几种变体,包括 Django docs 中的 catch all 和特定条目,如:

url(r'^about/', views.flatpage, {'url': '/about/'}, name='about'),
url(r'^contact/', views.flatpage, {'url': '/contact/'}, name='contact'),

但其中 none 个有效。

我发现一些referencesSITE_ID是错误的,我通过查询数据库和检查调试信息确认我的是正确的。

我也确认了数据库中的数据, table django_flatpage 显示了我查询的2行。

我错过了什么?

我本来打算删除这个 post,但后来我意识到...也许其他人也会遇到同样的问题,并找到这个答案。我正在用头撞墙,我终于想通了。这很奇怪,有时在我 post 上 SO 或另一个 SE 板后不久,我弄清楚我的问题是什么......

无论如何,在我的 ExtendedFlatPageAdmin 中,我的 fieldset 没有包含 sites 字段。一旦我添加了这个,我就能够回到 Django 管理员,并重新保存平面页面。然后它没有给出404.