мой файл sitemap.xml показывает каждый URL моих приложений, как и должен.
но основной / -url (root-url) моего домена нет в sitemap.xml, потому что это не приложение.
и нет моделей для главной страницы. но, как вы можете видеть в sitemap.py (см. ниже)
нужна модель и приложение, чтобы вернуть что-то для создания записи в карте сайта.
но на моей главной странице нет ссылочных данных в базе данных, поэтому я не знаю, что вернуть.
как мне решить эту проблему?
[я пробовал с плоскими страницами, но django-flatpages мне тоже не помогли, потому что я не мог сказать интерфейсу администратора создать страницу с URL "/", он хотел что-то вроде "/about/temp.html/". ]
мой каталог проектов выглядит примерно так:
projectname/app1
/app2
/app3
settings.py
local_settings.py
sitemap.py
etc...
sitemap.py
from django.contrib.sitemaps import Sitemap
from app1.models import ModelX
from app2.models import ModelY
class SitemapApp1(Sitemap):
priority = 0.5
def items(self):
return ModelX.objects.all()
class SitemapApp2(Sitemap):
priority = 0.5
def items(self):
return ModelY.objects.all()
что я пробовал:
я создал приложение под названием main с models.py в нем. И в этой модели я хотел сделать что-то глупое, просто чтобы сейчас была модель для основного / URL, чтобы иметь возможность что-то возвращать.
class Main(models.Model):
name = models.CharField(max_length=64, unique=False, blank=True)
def __unicode__(self):
return self.name
projectname/app1
/app2
/app3
/main
models.py
__init__.py
settings.py
local_settings.py
etc.
sitemap.py
sitemap.py new
from django.contrib.sitemaps import Sitemap
from app1.models import ModelX
from app2.models import ModelY
from main.models import Main
class SitemapApp1(Sitemap):
priority = 0.5
def items(self):
return ModelX.objects.all()
class SitemapApp2(Sitemap):
priority = 0.5
def items(self):
return ModelY.objects.all()
class SitemapMain(Sitemap):
priority = 0.5
def items(self):
return Main.objects.all()
Конечно, перезагрузил сервер.
Ну, это не дает мне ошибку, когда я иду на domain.com/sitemap.xml
но я не обнаруживаю запись domain.com в sitemap.xml.
Так что я уверен, что у вас есть намного лучшее решение для моего глупого подхода - получить domain.com/ root в sitemap.xml.
Ценю вашу помощь.
Заранее большое спасибо!
СБН