我决定在Django 1.11.4中启用https。
谢谢“让我们加密”。
因此,我将所有http请求重定向(301)到https。 另外,所有非www(http或https)都将重定向(301)到https://www
我的URL https://www.example.com/sitemap.xml正常工作,因为自https传递以来,该URL当前不起作用。
它返回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工作的,因此需要做一些修改,但是我不知道是哪个。
答案 0 :(得分:0)
我发现了问题。我将Django传递到调试模式,它返回了:
网站匹配查询不存在
我得出结论,我settings.py中存在的默认SITE_ID = 1
是错误的。
转到Django / admin / sites /的管理面板并编辑该站点。
好的ID由浏览器上的URL给出。
只需将SITE_ID = 1
修改为SITE_ID = 2
(以我为例)就可以了!