我似乎无法为我的网站注册平面页面,因此无法使我的sitemap.xml for flatpages工作。我有以下文件:
settings.py:
MIDDLEWARE_CLASSES = (
...
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
...
)
INSTALLED_APPS = (
...
'django.contrib.sites',
'django.contrib.sitemaps',
'django.contrib.flatpages',
...
)
SITE_ID = 1
urls.py(该项目的主要urls.py文件,我的应用程序名为' shoes'):
from django.contrib.sitemaps import FlatPageSitemap
sitemaps = {
'shoes': FlatPageSitemap
}
urlpatterns = patterns('',
url(r'^', include('shoes.urls', namespace='shoes')),
url(r'^admin/', include(admin.site.urls)),
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
)
urls.py for my' shoes'应用程式:
from django.conf.urls import patterns, url
from shoes import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^homepage/$', views.home, name='home'),
url(r'^detail-page/$', views.detail, name='detail'),
)
我已经运行了syncdb,但管理员中的flatpages部分仍然是空白的,没有任何条目,因此站点地图不会注册它们。如何才能将这些平面页(' home'和'详细信息')注册?
答案 0 :(得分:0)
Flatpages应用程序用于动态创建flatpages。您可以在django admin中添加flatpages,它们将自动添加到#34;到网址
当您使用FlatpageFallbackMiddleware时,在所有其他选项(如urls.py中的视图)给出404响应后,flatpages会被解析。然后中间件检查数据库中的URL,如果找到匹配,则响应该页面。
您没有添加任何flatpages,因此您的db / admin / sitemap不会显示任何内容。