【问题标题】:django flatpages aren't workingdjango flatpages 不工作
【发布时间】:2010-07-23 11:31:41
【问题描述】:

settings.py 中我的平面页面相关选项如下所示:

MIDDLEWARE_CLASSES = (
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    'django.contrib.flatpages',
    'django.contrib.humanize',
    'registration',
)

在后端,我添加了一个 url 设置为“/”的平面页面和一个带有“/about/”的平面页面。当我调用这些页面时,django 显示 404 错误。我所有的平面页面都有一个唯一的模板。“模板名称”条目看起来像这样:/flatpages/about.html。我错过了什么?

【问题讨论】:

    标签: django


    【解决方案1】:

    我找到了。

    我忘记在 settings.py 中正确设置 SITE_ID。

    【讨论】:

    • 啊,明白了。如果有帮助,请随时下载我对“标准”Django 项目布局的看法,它会处理许多需要时间或被遗忘的设置:github.com/stevejalim/standards
    【解决方案2】:

    您是否也为您的平面页面设置了基本/默认模板?很容易错过,因为他们的文档没有详细说明。

    最简单的解决方法是将/flatpages/default.html 添加到您已知的模板中,基于文档中的示例default.html

    或者您可以将您的平面页面指向特定的现有模板,并在平面页面的管理员编辑页面中提供其他选项。

    【讨论】:

    • 对不起,我应该提到这一点。我将我所有的平面页面都指向一个特定的模板。 “模板名称”条目如下所示:/flatpages/about.html
    【解决方案3】:

    关键语句是更改 settings.py 中的 SITE_ID 与平面页面无关 - 这是新用户的问题 在启动“管理员”并将(比如说)“127..0.0.1”添加到 站点菜单(默认的“example.com”的补充) 在试图把其他一切都做好时,很容易被忽视 使 SITE_ID = 2。 将 'locahost' 设为默认值 - 摆脱默认的tripwire。 很高兴我遇到了这个! 鲍勃

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-23
      • 2013-07-15
      相关资源
      最近更新 更多