use*_*331 5 django django-models satchmo
我的 sitemap.xml 文件显示了我的应用程序的每个 url,因为它应该这样做。但我的域的主 /-url (root-url) 不在 sitemap.xml 中,因为它不是应用程序。并且主页没有模型。但正如您在 sitemap.py 中看到的那样(见下文),需要一个模型和一个应用程序来返回一些内容,以便在站点地图中创建条目。但我的主页在数据库中没有引用的数据,所以我不知道要返回什么。
我应该如何解决这个问题?[我尝试使用 Flatpages,但 django-flatpages 也没有帮助我,因为我无法告诉管理界面创建带有 url“/”的页面,它想要类似“/about/temp.html/”的内容。 ]
我的项目目录看起来与此类似:
项目名称/app1
/应用程序2
/app3
设置.py
本地设置.py
站点地图.py
ETC...
从 django.contrib.sitemaps 导入站点地图
从 app1.models 导入 ModelX
从 app2.models 导入 ModelY
类 SitemapApp1(站点地图):
优先级 = 0.5
def 项目(自身):
返回 ModelX.objects.all()
类 SitemapApp2(站点地图):
优先级 = 0.5
def 项目(自身):
返回 ModelY.objects.all()
我尝试过的是:我创建了一个名为 main 的应用程序,其中包含 models.py 。在这个模型中,我想做一些愚蠢的事情,只是为了现在为主 / url 建立一个模型,能够返回一些东西。
主类(模型.模型):
名称 = models.CharField(max_length=64, unique=False, 空白=True)
def __unicode__(自身):
返回自己的名字
项目名称/app1
/应用程序2
/app3
/主要的
模型.py
__init__.py
设置.py
本地设置.py
ETC。
站点地图.py
从 django.contrib.sitemaps 导入站点地图
从 app1.models 导入 ModelX
从 app2.models 导入 ModelY
从 main.models 导入 Main
类 SitemapApp1(站点地图):
优先级 = 0.5
def 项目(自身):
返回 ModelX.objects.all()
类 SitemapApp2(站点地图):
优先级 = 0.5
def 项目(自身):
返回 ModelY.objects.all()
类 SitemapMain(站点地图):
优先级 = 0.5
def 项目(自身):
返回 Main.objects.all()
当然,重新启动服务器。好吧,当我转到domain.com/sitemap.xml 时,它不会给我错误,但我也没有在sitemap.xml 中显示domain.com-entry。
所以我确信,对于我将domain.com/ root 放入sitemap.xml 的愚蠢方法,您有更好的解决方案。
感谢您的帮助。预先非常感谢!
SC
您可以尝试修改我从这里获得的这个示例:
class MainSitemap(Sitemap):
def items(self):
return [self]
location = "/"
changefreq = "monthly"
priority = "1"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1614 次 |
| 最近记录: |