我有以下网址配置
url(r'^sitemap\.xml$', index, {'sitemaps': sitemaps}),
url(r'^sitemap-(?P<section>.+)\.xml', cache_page(86400)(sitemap), {'sitemaps': sitemaps}),
Run Code Online (Sandbox Code Playgroud)
并且站点地图包括以下站点地图
class ArticlesDetailSiteMap(Sitemap):
changefreq = "daily"
priority = 0.9
def items(self):
return Article.objects.filter(is_visible=True, date_published__lte=timezone.now())
Run Code Online (Sandbox Code Playgroud)
但是有超过50.000条文章。所以我尝试时会收到超时错误, /sitemap-articles.xml因为它会尝试获取所有文章。
任何想法我应该如何创建索引并使分页在这里工作,如以下文档中所述,
https://docs.djangoproject.com/en/dev/ref/contrib/sitemaps/#creating-a-sitemap-index
当我将站点地图添加到我的 Django 项目时,我收到此错误..
/sitemap.xml 中不存在
站点匹配查询不存在。
站点地图.py:
from django.contrib.sitemaps import Sitemap
from .models import Homepage
class DynamicSitemap(Sitemap):
changefreq = "monthly"
priority = 0.5
def items(self):
return Homepage.objects.all()
Run Code Online (Sandbox Code Playgroud)
网址.py:
from first_app.sitemaps import DynamicSitemap
from django.contrib.sitemaps.views import sitemap
sitemaps = {'dynamic': DynamicSitemap()}
urlpatterns = [
path('sitemap.xml', sitemap , {'sitemaps': sitemaps}, name='sitemaps'),
]
Run Code Online (Sandbox Code Playgroud)
设置.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tinymce',
'first_app',
'django.contrib.sitemaps',
Run Code Online (Sandbox Code Playgroud)
]
任何帮助和感谢
Google可以识别<image>XML网站地图的标签(http://support.google.com/webmasters/bin/answer.py?hl=zh_CN&answer=178636),我想在我的网站地图中添加图片属性。
因此,需要这样的操作才能获取cover_image,然后将其加载到xml文件中:
for article in articles:
print article.cover_image
Run Code Online (Sandbox Code Playgroud)
我还需要article.title为<image:title>代码加载。
我已经Google搜索并搜索了Stack Overflow作为示例,但令人惊讶的是我找不到任何东西,因此非常感谢帮助。
到目前为止,我的文件:
## sitemaps.py ##
from django.contrib.sitemaps import Sitemap
from myproject.article.models import Article
class ArticleSitemap(Sitemap):
priority = 1.0
def items(self):
return Article.objects.order_by('-id').order_by('-pub_date')
def lastmod(self, obj):
return obj.pub_date
## urls.py ##
from myproject.sitemaps import ArticleSitemap
sitemaps = {
"article": ArticleSitemap
}
urlpatterns += patterns ('',
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps})
Run Code Online (Sandbox Code Playgroud) 我想实现django站点地图,但我对于将sitemaps.py文件放在哪里以及应该修改哪个urls.py文件以包括:
url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.index', {'sitemaps': sitemaps}),
Run Code Online (Sandbox Code Playgroud)
我应该将上面的行放在project(mysite)urls.py文件或app(sampleapp1)urls.py文件中吗?
我正在使用Django 站点地图框架
从我的数据库中检索文章列表没有问题。
class ArticleSitemap(Sitemap):
def items(self):
return articles.objects.filter(tagid=1399).order_by('-publisheddate')
Run Code Online (Sandbox Code Playgroud)
我现在想接受一个查询参数以通过输入的标签 ID 进行过滤,即:
sitemap.xml?tagid=1000
我还没有在文档或堆栈中找到示例。
给定sitemap类的sitemap在该位置生成一个sitemap, example.com/sitemap.xml
从django.contrib.sitemaps导入从blog.models导入Sitemap到给定Sitemap类的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
Run Code Online (Sandbox Code Playgroud)
生成的站点地图包含Blog模型中的所有对象,但不包含Queryset之外的内容。如何将主页添加到站点地图中?
网址
from django.contrib.sitemaps.views import sitemap
from blog.sitemaps import BlogSitemap
sitemaps = {
'blog': BlogSitemap
}
urlpatterns = [
url(r'^$', 'blog.views.home'),
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
]
Run Code Online (Sandbox Code Playgroud)