django项目中如何把sitemap.xml等静态文件放到web根目录

有两种方案

第一种方案、

将相应的sitemap文件放入网站的templates文件夹中同时在网站的根urls文件中添加如下代码

from django.views.generic import TemplateView
urlpatterns = [   
 re_path(r'^sitemap\.xml', TemplateView.as_view(template_name='sitemap.xml',content_type='text/xml')),
    re_path(r'^sitemap\.html$', TemplateView.as_view(template_name='sitemap.html',content_type='text/html')),
    re_path(r'^sitemap\.txt$', TemplateView.as_view(template_name='sitemap.txt',content_type='text/text')),
]

urls.py中加入新的urlpattern,用TemplateView去展示

第二种方案、

直接交给nginx来处理,在nginx的conf文件中加入要处理的static URL和路径

location  /sitemap.xml {
    alias  /path/to/static/sitemap.xml;
}

我有的第一种方法测试成功,可以成功被百度等识别,第二种的我没测试
参考:http://stackoverflow.com/questions/18424260/django-serving-robots-txt-efficiently

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容