0
  • Ubuntu 14.04
  • Python 3.4.0
  • 姜戈 1.7

我只是按照4 个步骤的指示来设置 flatpages,但是当我运行时python3 manage.py migrate,没有创建 flatpages 的 DB 表。创建了所有其他表,而不是平面页面所需的表。我对此感到很困惑,因为这并不复杂。我在我的 settings.py 中添加了正确的东西——

SITE_ID = 1 # added for flatpages

# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites', # added
    'django.contrib.flatpages.urls', # added for flatpages
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', #added 
)

...并进入我的 urls.py (尽管我认为这不会影响数据库表的创建)-

from django.conf.urls import patterns, include, url
from django.views.generic import TemplateView
from django.contrib import admin

urlpatterns = patterns('',
    # Examples:
    url(r'^$', 'pets.views.home', name='home'),
    url(r'^pages/', include('django.contrib.flatpages.urls')),
    url(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt',
                                               content_type='text/plain')),
    url(r'^admin/', include(admin.site.urls)),
)

……我是脑子放屁还是怎么的?我不明白为什么这不起作用,但它只是没有创建平面页面所需的数据库表。这不是我第一次使用 Django 创建东西,但这是我第一次尝试平面页面。

4

1 回答 1

0

是的,可能是脑子放屁:您已将 urls 模块添加到 INSTALLED_APPS,而不是应用程序本身。

'django.contrib.flatpages', # added for flatpages
于 2014-10-21T09:59:19.993 回答