2012-05-04 19 views
2

私はすでにすべてを探しましたが、この迷惑なエラーはまだあります。管理インタフェース(localhost:8000/admin /)はうまく動作しますが、それ以外は動作しません。 Obs .:私はApressを使用しています - 実用的なDjangoプロジェクト(第2版)はDjangoを学びます。誰かが私が間違っていたことを教えることができるように私はここに私のコードを掲示します。ありがとう!
コード:Django 1.4 in windows 7 "FlatPageは指定されたクエリと一致しません"

settings.py

# Django settings for cms project. 
    DEBUG = True 
    TEMPLATE_DEBUG = DEBUG 
    APPEND_SLASH = True 
    ADMINS = (
     # ('Your Name', '[email protected]'), 
    ) 

    MANAGERS = ADMINS 

    DATABASES = { 
     'default': { 
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql',     'sqlite3' or 'oracle'. 
      'NAME': 'C:\Users\Vinicius\Desktop\Work\Djangoprojects\cms\cms.db',        # Or path to database file if using sqlite3. 
    'USER': '',      # Not used with sqlite3. 
    'PASSWORD': '',     # Not used with sqlite3. 
    'HOST': '',      # Set to empty string for localhost. Not used with sqlite3. 
    'PORT': '',      # Set to empty string for default. Not used with sqlite3. 
     } 
    } 

    # Local time zone for this installation. Choices can be found here: 
    # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name 
    # although not all choices may be available on all operating systems. 
    # On Unix systems, a value of None will cause Django to use the same 
    # timezone as the operating system. 
    # If running in a Windows environment this must be set to the same as your 
    # system time zone. 
    TIME_ZONE = 'America/Chicago' 

    # Language code for this installation. All choices can be found here: 
    # http://www.i18nguy.com/unicode/language-identifiers.html 
    LANGUAGE_CODE = 'en-us' 

    SITE_ID = 1 

    # If you set this to False, Django will make some optimizations so as not 
    # to load the internationalization machinery. 
    USE_I18N = True 

    # If you set this to False, Django will not format dates, numbers and 
    # calendars according to the current locale. 
    USE_L10N = True 

    # If you set this to False, Django will not use timezone-aware datetimes. 
    USE_TZ = True 

    # Absolute filesystem path to the directory that will hold user-uploaded files. 
    # Example: "/home/media/media.lawrence.com/media/" 
    MEDIA_ROOT = '' 

    # URL that handles the media served from MEDIA_ROOT. Make sure to use a 
    # trailing slash. 
    # Examples: "http://media.lawrence.com/media/", "http://example.com/media/" 
    MEDIA_URL = '' 

    # Absolute path to the directory static files should be collected to. 
    # Don't put anything in this directory yourself; store your static files 
    # in apps' "static/" subdirectories and in STATICFILES_DIRS. 
    # Example: "/home/media/media.lawrence.com/static/" 
    STATIC_ROOT = '' 

    # URL prefix for static files. 
    # Example: "http://media.lawrence.com/static/" 
    STATIC_URL = '/static/' 

    # Additional locations of static files 
    STATICFILES_DIRS = (
     # Put strings here, like "/home/html/static" or "C:/www/django/static". 
     # Always use forward slashes, even on Windows. 
     # Don't forget to use absolute paths, not relative paths. 
    ) 

    # List of finder classes that know how to find static files in 
    # various locations. 
    STATICFILES_FINDERS = (
     'django.contrib.staticfiles.finders.FileSystemFinder', 
     'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    # 'django.contrib.staticfiles.finders.DefaultStorageFinder', 
    ) 

    # Make this unique, and don't share it with anybody. 
    SECRET_KEY = 'notgiven' 

    # List of callables that know how to import templates from various sources. 
    TEMPLATE_LOADERS = (
     'django.template.loaders.filesystem.Loader', 
     'django.template.loaders.app_directories.Loader', 
    #  'django.template.loaders.eggs.Loader', 
    ) 


    MIDDLEWARE_CLASSES = (
     'django.middleware.common.CommonMiddleware', 
     'django.contrib.sessions.middleware.SessionMiddleware', 
     'django.middleware.csrf.CsrfViewMiddleware', 
     'django.contrib.auth.middleware.AuthenticationMiddleware', 
     'django.contrib.messages.middleware.MessageMiddleware', 
     'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 
     # Uncomment the next line for simple clickjacking protection: 
     # 'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    ) 

    ROOT_URLCONF = 'cms.urls' 

    # Python dotted path to the WSGI application used by Django's runserver. 
    WSGI_APPLICATION = 'cms.wsgi.application' 

    TEMPLATE_DIRS = (
     'C:/Users/Vinicius/Desktop/Work/Djangoprojects/cms/templates/' 
     # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
     # Always use forward slashes, even on Windows. 
     # Don't forget to use absolute paths, not relative paths. 
    ) 

    INSTALLED_APPS = (
     'django.contrib.auth', 
     'django.contrib.contenttypes', 
     'django.contrib.sessions', 
     'django.contrib.sites', 
     'django.contrib.messages', 
     'django.contrib.staticfiles', 
     'django.contrib.admin', 
     'django.contrib.flatpages', 
     # Uncomment the next line to enable the admin: 
     # 'django.contrib.admin', 
     # Uncomment the next line to enable admin documentation: 
     # 'django.contrib.admindocs', 
    ) 

    # A sample logging configuration. The only tangible logging 
    # performed by this configuration is to send an email to 
    # the site admins on every HTTP 500 error when DEBUG=False. 
    # See http://docs.djangoproject.com/en/dev/topics/logging for 
    # more details on how to customize your logging configuration. 
    LOGGING = { 
'version': 1, 
'disable_existing_loggers': False, 
'filters': { 
    'require_debug_false': { 
     '()': 'django.utils.log.RequireDebugFalse' 
    } 
}, 
'handlers': { 
    'mail_admins': { 
     'level': 'ERROR', 
     'filters': ['require_debug_false'], 
     'class': 'django.utils.log.AdminEmailHandler' 
    } 
}, 
'loggers': { 
    'django.request': { 
     'handlers': ['mail_admins'], 
     'level': 'ERROR', 
     'propagate': True, 
      }, 
     } 
    } 

urls.py

from django.conf.urls import patterns, include, url 

    # Uncomment the next two lines to enable the admin: 
    from django.contrib import admin 
    admin.autodiscover() 

    urlpatterns = patterns('', 
     url(r'^admin/', include(admin.site.urls)), 
     url(r'', include('django.contrib.flatpages.urls')), 
    ) 

PS:すべてが正しくidentedされます。だから、いくつかの間違いがあるとすれば、コピー/ペーストを本当に素早く行ったからです。

+0

多分これは役に立ちますか? http://benhealey.info/2009/07/07/getting-a-no-flatpage-matches-the-given-query-error/ – starcorn

答えて

3

url confにフラットページを含めないでください。

url(r'^admin/', include(admin.site.urls)), 
url(r'', include('django.contrib.flatpages.urls')), # remove this 

これはおそらく、フラットページが実際にどのURLにも一致するため、エラーが発生している理由です。

通常、フラットページは、他のURLと一致するフラットページを見つけることを試みるフラットページフォールバックミドルウェアを介して動作します。

+0

私は 'url(r ''、include( 'django。 contrib.flatpages.urls '))、 'しかし、プログラムはそれ自身でdefault.htmlテンプレートを見つけられません。どうすればいいですか(私はジャンゴで新しくなっています)? – Vinicius

+0

テンプレートフォルダは何ですか?そして、djangoは、私がflatpagesの管理パネルで作成したこのテンプレートをどこに保存しますか? – Vinicius

0

問題のもう一つの原因は、settings.py

に正しいSITE_ID番号を入れていないあなたは、データベース内のテーブルdjango_flatpage_sitesを検査することにより、(デフォルトのポートを使用すると仮定した場合)127.0.0.1:8000の正しいサイトIDを見つけることができます。サイトIDは列site_idにあります。

SITE_IDsettings.pyの数字に更新すると、私の問題が解決しました。

関連する問題