Как использовать карту сайта с https? - PullRequest
0 голосов
/ 20 декабря 2018

Я решил включить https в Django 1.11.4.

Спасибо "Let's Encrypt".

Поэтому я перенаправил (301) все http-запросы на https.Кроме того, все не-www (http или https) перенаправляются (301) на https://www

. Это прекрасно работает, кроме моего URL https://www.example.com/sitemap.xml, который не работает в настоящее время и с момента прохождения https.

Возвращает код ошибки 500, и я не знаю, почему.

urls.py

from django.conf.urls import url
from django.contrib.sitemaps.views import sitemap
from example.sitemaps import *
from django.conf import settings



#Pour charger le favicon
media = settings.MEDIA

# Dictionary containing sitemap classes
sitemaps = {
    'products': ArticleSitemap(),

}

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

sitemaps.py

#Generating Sitemap for Dynamic Urls

from django.contrib.sitemaps import Sitemap
from wall.models import Articles

class ArticleSitemap(Sitemap):
    changefreq = "weekly"
    priority = 0.7

    def items(self):
        return Articles.objects.filter(published=True).order_by('-update')

    def lastmod(self, item): 
        return item.date

settings.py

INSTALLED_APPS = [
    'django.contrib.sites', #SiteMap
    'django.contrib.sitemaps', #SiteMap

Он работал по http, поэтому есть какая-то модификация, но я не знаю, какая именно.

1 Ответ

0 голосов
/ 20 декабря 2018

Я нашел проблему.Я перевел свой Django в режим отладки, и он вернул:

Запрос на сопоставление сайтов не существует

Я пришел к выводу, что по умолчанию SITE_ID = 1 присутствует в моем settings.pyбыл неправ.Зайдите в админ-панель Django / admin / sites / и отредактируйте сайт.Хороший идентификатор задается URL-адресом в браузере.

Просто отредактируйте SITE_ID = 1 в SITE_ID = 2 (в моем случае), и это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...