0

我正在使用 django 1.1.3 并跟随一本名为 Practical Django Projects 的书。我在编辑项目文件夹中的 .urls 文件以及在管理站点上为我的项目创建平面页面时遇到问题。这是我的 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/大量其他错误消息。

我不确定我做错了什么,因为我按照书上的指示写信(我认为)。如果我没有提供足够的信息,请告诉我。在这一点上,我不确定我还会包括什么。

提前感谢您的任何帮助。

4

1 回答 1

1

您尚未创建 default.html 文件。Flatpages 会寻找一个名为 default.html 的模板。他们在这里插入他们的内容。由于您没有提供该文件,因此平面页面提出了模板不存在的投诉。

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

  1. 为项目中的模板创建一个目录。将其命名为“模板”。
  2. 在“templates”目录中创建一个名为“flatpages”的目录。
  3. 在“flatpages”目录中创建一个名为“default.html”的html文件。

从图形上看,它看起来像这样:

在此处输入图像描述

  1. 现在在 default.html 中输入以下内容
<!DOCTYPE html>
<html>

<head>
  <title>{{ flatpage.title }}</title>
</head>

<body>
  <h1>{{ flatpage.title }}</h1>
  {{ flatpage.content }}
</body>

</html>
  1. 现在在您的设置文件中将“TEMPLATE_DIRS”的值更改为指向此“模板”目录。它看起来像这样:
TEMPLATE_DIRS = (
    "/home/wasim/so/sopro/templates",
    # Above insert your path
)

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

于 2015-05-22T20:57:25.447 回答