gpt4 book ai didi

python - Django 1.6 : What should be the location of the sitemap. py 文件?

转载 作者:行者123 更新时间:2023-11-28 19:55:40 27 4
gpt4 key购买 nike

我想实现 django 站点地图,但我对将 sitemaps.py 文件放在哪里以及我应该修改哪个 urls.py 文件感到困惑:

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

我应该将以上行放在项目(mysite)urls.py 文件或应用程序(sampleapp1)urls.py 文件中吗?

最佳答案

您在项目的应用程序中创建站点地图(那些您需要站点地图的应用程序),文档没有说明是什么和在哪里,因为您可以随心所欲地做,您只需要在通过的字典中注册它们在网址中。例如,您有一个 your_project,它有一个 blog 应用程序:

your_project
- blog
- models.py
- views.py
- ...
- sitemap.py

在您的 sitemap.py 中:

from django.contrib.sitemaps import Sitemap
from blog.models import Entry

class BlogSitemap(Sitemap):
changefreq = "never"
priority = 0.5

def items(self):
return Entry.objects.filter(is_draft=False)

def lastmod(self, obj):
return obj.pub_date

然后在你的 urls.py(你项目的主 urls.py)中:

...

from blog.sitemap import BlogSitemap

sitemaps = {
'blog':BlogSitemap
}


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

如果你的项目很大(很多应用程序),你需要对每个站点地图重复相同的操作,那么每个应用程序使用不同的站点地图是明智的,然后在你的 urls.py 中:

...

from blog.sitemap import BlogSitemap
from fooapp.sitemap import FooSitemap
from barapp.sitemap import BarSitemap

sitemaps = {
'blog':BlogSitemap,
'foo':FooSitemap,
'bar':BarSitemap,
}

关于python - Django 1.6 : What should be the location of the sitemap. py 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25230303/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com