Django NameError urls.py

时间:2012-04-30 04:53:21

标签: python django sitemap django-urls nameerror

当我尝试将站点地图与我的应用程序集成时,我从urls.py收到名称错误:name sitemaps is not defined

来自我的urls.py:

from django.contrib.sitemaps import Sitemap

(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),

我的urls.py中的这个正则表达式有问题吗?或者还有其他问题吗?

感谢您的输入

2 个答案:

答案 0 :(得分:2)

一般来说,你会做这样的事情 -

from django.contrib.sitemaps import Sitemap, FlatPageSitemap

sitemaps = {
  'site': Sitemap,
  'flatpages': FlatPageSitemap,
}

# ..
# Some url patterns. urlpatterns must be defined by now
# ..

urlpatterns += patterns("",
  url(r'^sitemap\.xml$', 
      'django.contrib.sitemaps.views.sitemap', 
      {'sitemaps': sitemaps}
  ),
)

答案 1 :(得分:0)

来自the docs

  

sitemaps应该是一个字典,用于将短节标签(例如blognews)映射到其Sitemap类(例如BlogSitemapNewsSitemap)。它还可能映射到Sitemap类的实例(例如BlogSitemap(some_var))。

所以...定义它。