Django flatpages PAGE NOT FOUND没有FlatPage匹配给定的查询

时间:2015-05-22 12:15:30

标签: django django-flatpages

我正在使用django 1.1.3并继续阅读一本名为Practical Django Projects的书。我在编辑项目文件夹中的.urls文件时遇到了问题,同时在我的项目的管理站点上创建了一个平面页面。这就是我在我的网址文件中的内容:

urlpatterns = patterns('',
    # Example:
    # (r'^cms/', include('cms.foo.urls')),

    # Uncomment the admin/doc line below and add #'django.contrib.admindocs' 
    #to INSTALLED_APPS to enable admin documentation:
(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),

(r'', include('django.contrib.flatpages.urls')),


)

我创建了一个带有url扩展名/ first-page /的平面页面名称。当我导航到它时,我会收到PAGE NOT FOUND No FlatPage matches the given query.根据我的书,我应该看到的是TemplateDoesNotExist at /first-page/,其中包含大量其他错误消息。

当我按照书中的说明(我认为)时,我不确定我做错了什么。如果我没有提供足够的信息,请告诉我。我现在还不确定我还会包括什么。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您尚未创建default.html文件。 Flatpages查找名为default.html的模板。他们在这里插入他们的内容由于您没有提供该文件,所以flatpages提出模板的投诉不存在。

要解决您的问题,请按以下步骤操作。

  1. 为项目中的模板创建目录。说出来 "模板&#34 ;.
  2. "模板"目录创建一个名为的目录 "的flatpages"
  3. In" flatpages"目录创建一个名为的html文件 " default.html中"
  4. 图形上看起来像这样:

    enter image description here

    1. 现在在default.html中输入以下内容
    2. <!DOCTYPE html>
      <html>
      
      <head>
        <title>{{ flatpage.title }}</title>
      </head>
      
      <body>
        <h1>{{ flatpage.title }}</h1>
        {{ flatpage.content }}
      </body>
      
      </html>
      
      1. 现在在您的设置文件中更改&#34; TEMPLATE_DIRS&#34;的值指向这个&#34;模板&#34;目录。它看起来像这样:
      2. TEMPLATE_DIRS = (
            "/home/wasim/so/sopro/templates",
            # Above insert your path
        )
        

        将上述路径替换为templates目录的路径。现在运行服务器,它将工作。