我决定在 Django 1.11.4 中启用 https。
谢谢“让我们加密”。
所以我将所有 http 请求重定向 (301) 到 https。此外,所有非 www(http 或 https)都会重定向 (301) 到https://www
它工作正常,除了我的网址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'),
]
Run Code Online (Sandbox Code Playgroud)
站点地图.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
Run Code Online (Sandbox Code Playgroud)
设置.py
INSTALLED_APPS = [
'django.contrib.sites', #SiteMap
'django.contrib.sitemaps', #SiteMap
Run Code Online (Sandbox Code Playgroud)
它是通过 http 工作的,因此需要进行修改,但我不知道是哪一项。
Ali*_*emi 10
虽然为时已晚,但可能对从谷歌来到这里的开发人员有所帮助。
您可以添加protocol为类变量。
class ArticleSitemap(Sitemap):
changefreq = "weekly"
priority = 0.7
protocol = 'https' # <-- ADD THIS
def items(self):
...
Run Code Online (Sandbox Code Playgroud)
另外,在 Django 5+ 中,默认协议是https
| 归档时间: |
|
| 查看次数: |
1507 次 |
| 最近记录: |