2017-06-12 55 views
0

我是django的新手,我想創建我的西裝的網站地圖。我使用站點地圖框架從Django中,但是當我去127.0.0.1:8000/sitemap.xml我有TemplateDoesNotExist錯誤 這是我sitemap.py我在django sitemap框架中看不到sitemap.xml

from django.contrib.sitemaps import Sitemap 
from datetime import datetime 
from .models import * 

class CharacterSitemap(Sitemap): 
    changefreq = "never" 
    priority = 0.9 

    def items(self): 
     return Character.objects.all() 

    def lastmod(self, obj): 
     return datetime.now() 

    def location(self, obj): 
     return '/' + obj.server.link + '/' + obj.link 

這是我的urls.py

from django.conf.urls import url, include 
from django.contrib.sitemaps.views import sitemap 
from .views import * 
from core import api_views 
from .models import * 
from .sitemap import CharacterSitemap 

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

我在哪裏必須看到我的sitemap.xml文件,我做錯了什麼?

+0

你確定這是由網站地圖引起的嗎?如果你在網站地圖中發表評論,然後打中/或/ admin或其他內容,會發生什麼? –

+0

是的,我確定。這是我的錯誤:TemplateDoesNotExist at /sitemap.xml – Vladyslav

+0

ok,你是否按照這個方向:'確保你的TEMPLATES設置包含一個DjangoTemplates後端,其APP_DIRS選項設置爲True。它在默認情況下,所以你只需要改變這個,如果你改變了這個設置。' –

回答

0

有時,如果您通過管理員添加更多站點並刪除其中的一些站點,每個站點都有一個ID,但一旦我更改了DB開始工作的ID後,它就不適用於我了,因此請確保SITE_ID與數據庫。這對我解決