标签: django-sitemaps

如何为超过50.000个网址的Django网站地图创建索引

我有以下网址配置

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

python sitemap django django-sitemaps

5
推荐指数
2
解决办法
602
查看次数

django 站点地图DoesNotExist 位于/sitemap.xml

当我将站点地图添加到我的 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)

]

任何帮助和感谢

在此输入图像描述

python django django-sitemaps

5
推荐指数
2
解决办法
1376
查看次数

在Django中将图像字段添加到XML网站地图

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)

sitemap django django-sitemaps

4
推荐指数
2
解决办法
1485
查看次数

Django 1.6:sitemap.py文件的位置应该是什么?

我想实现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文件中吗?

python django django-sites django-sitemaps

2
推荐指数
1
解决办法
606
查看次数

Django 站点地图框架。接受查询参数

我正在使用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

我还没有在文档或堆栈中找到示例。

python sitemap django django-sitemaps

2
推荐指数
1
解决办法
806
查看次数

如何将首页添加到Django网站地图?

给定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)

python sitemap django django-sitemaps

1
推荐指数
1
解决办法
881
查看次数

标签 统计

django ×6

django-sitemaps ×6

python ×5

sitemap ×4

django-sites ×1