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

你可能感兴趣的:(django项目中如何把sitemap.xml等静态文件放到web根目录)