-
关于使用django生成sitemap的问题10
我的django的model使用了虚类生成的方法class News(models.Model): title = models.CharField(max_length=100) content = models.TextField() news_type = models.ForeignKey(ContentType, blank=True, null=True, editable=False) pic_recommended = models.BooleanField() index_recommended = models.BooleanField() privilege = models.IntegerField() pub_time = models.DateTimeField() def __unicode__(self): return u'%s' % (self.title) def abstract_to_concrete(self): concrete = self.news_type.model_class().objects.get(pk=self.id) return concrete class Meta: ordering = ['-privilege','-pub_time']
然后由这个模型派生出单个的具体新闻类,如:
class Bulletin(News): def save(self, force_insert=False, force_update=False): self.news_type = ContentType.objects.get(model='Bulletin') super(Bulletin, self).save() def get_absolute_url(self): return '/bulletin/%s/' % self.id class Meta: verbose_name = u'公告栏' verbose_name_plural = u'公告栏' class Knowledge(News): title_pic = models.ImageField(upload_to='knowledge/', null=True, blank=True) second_type = models.ForeignKey(SecondType) def save(self, force_insert=False, force_update=False): self.news_type = ContentType.objects.get(model='Knowledge') super(Knowledge, self).save() def get_absolute_url(self): return '/knowledge/%s/' % self.id class Meta: verbose_name = u'综合技术' verbose_name_plural = u'综合技术'
等等,为了使用django自带的sitemap生成机制,在url中这样写from django.contrib.sitemaps import GenericSitemap from cmmb.news.models import * info_dict = { 'queryset': News.objects.all(), 'pub_time': 'pub_time', } sitemaps = { 'news': GenericSitemap(info_dict, priority=0.6), } urlpatterns=patterns( (r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}), )
但是这样就出现了问题,因为News是个公共继承的父类,所以没有get_absolute_url的方法,而其他子类则没有pub_time的字段属性,无法生成sitemap,请问有什么好的解决方法么??
2009年4月03日 14:54
2个答案 按时间排序 按投票排序
-
你应该使用Abstract类的方式来定义基类,而不是多表继承的方式。只有定义了abstract才会生成pub_time的字段属性。
我写了一个sitemap的扩展,可以为分页生成sitemap2009年4月10日 12:03
相关推荐
总之,`django_sitemap_generate` 是一个实用的Django插件,它让创建和维护Sitemap变得更加轻松,对于任何使用Django开发的网站,都是一个值得考虑的工具。通过熟练掌握并运用这个库,开发者可以提升网站的SEO策略,...
- **动态生成**:允许在运行时动态生成Sitemap,这样可以处理动态内容,如博客文章、用户生成的内容等。 - **自定义格式**:除了XML格式,还可能支持其他格式,比如JSON,以便适应不同应用场景。 - **高级配置**...
5. **使用方法**:要安装`django_sitemap_generate`,用户可以使用`pip`命令,例如:`pip install django_sitemap_generate-0.2.1-py3-none-any.whl`。然后在Django项目的`settings.py`中配置该库,并按照文档指示...
#### 二、使用Django的sitemap功能 ##### 1. 实现步骤 Django自带的sitemap功能实现主要包括三个步骤: - **定义sitemap类**:在项目中创建一个`sitemaps.py`文件,定义继承自`django.contrib.sitemaps.Sitemap`...
- **编程生成**:对于大型或动态网站,可以编写脚本或程序自动抓取页面并生成sitemap,例如,Python的`django-sitemap`库或PHP的`SimpleSitemap`类库。 ### 4. Sitemap.exe 在提供的压缩包中,有一个名为`Sitemap....
在Django框架中,Sitemap是用来帮助搜索引擎更好地理解和索引网站内容的重要工具。它是一个XML文件,包含了网站上的各个URL,以及关于这些...同时,利用分页技术,即使大型网站也能有效地生成Sitemap,保持良好的性能。
Django提供了一个内置的Sitemap框架,可以让你轻松地使用Python代码自动生成Sitemap文件。要实现这一点,你需要完成以下几个步骤: 1. **编写Sitemap类**:首先,你需要为你的应用编写一个或多个Sitemap类。每个...
最后,运行`django-admin.py sitemap`命令生成XML站点地图文件。 总的来说,`django-static-sitemaps`为Django开发者提供了一个便捷的工具,用于生成符合标准的XML站点地图,有助于提升网站在搜索引擎中的可见性。...
它不是从Django提供sitemap.xml的服务,而是具有管理命令/ celery任务,该任务将sitemap.xml生成到单独的文件。 功能亮点: 新增:与Django 2.0+兼容 新增:兼容Python 3 生成站点地图文件到您的STATIC / MEDIA ...
5. **管理后台(Admin)**:Django自带一个强大的管理后台,只需简单注册模型,即可自动生成CRUD操作界面,供管理员使用。 6. **表单(Forms)**:Django提供了处理HTML表单的强大工具,可以自定义表单类,方便地...
对于SEO优化,Django 提供了内置的支持,如自动生成 sitemap.xml 文件。\n\n总之,结合 Django 的强大功能和 MySQL 的稳定性能,你可以构建出一个高效、可扩展的个人网站,无论是展示作品集、写博客,还是提供在线...
1. **视频上传与存储**:使用Django的FileField或ImageField处理用户上传的视频文件。可能需要集成云存储服务如阿里云OSS或AWS S3来存储大规模的媒体文件。 2. **视频转码**:为了适应不同的网络环境和设备,视频...
简单的Django分类广告应用程序产品特点项目组,类别和区域(例如城市或地点) 图片每个项目上传多张图片生成预览(通过 ) 使用库显示搜索能力SEO优化SEO友好的网址生成META描述和meta关键字sitemap.xml robots.txt ...
这个毕业设计项目是利用 Django 1.10 和 Python 3.5 构建的一个博客平台,它展示了如何使用这两项技术来开发功能完善的Web应用。Django 是一个高级的Python Web框架,它鼓励快速开发和简洁实用的设计,而 Python 3.5...
- **SEO友好**:Zinnia提供了优化的SEO设置,包括自定义元标签,友好的URL,以及Sitemap生成。 - **社区活跃**:作为一个开源项目,Zinnia拥有活跃的社区,不断更新和改进,确保其与Django的最新版本兼容。 ### 3. ...
本教程将详细介绍如何使用Django创建一个全功能的博客应用程序。 ### 1. Django框架基础 Django的核心组件包括模型(Model)、视图(View)、模板(Template)和URL(URLconf)。这四个组件构成了MVT设计模式,...
【标题】"MyAwesomeCart-电子商务网站使用Django-" 是一个基于Python的Django框架构建的电子商务网站项目。这个项目旨在展示如何利用Django的强大功能来创建一个完整的在线购物平台。 【描述】"MyAwesomeCart-电子...
7. **SEO优化**:考虑到教育培训平台需要吸引流量,源代码应包含搜索引擎优化(SEO)元素,如元标签、友好的URL结构、Sitemap生成、页面速度优化等。 8. **性能优化**:全站静态化有助于提高加载速度,但还需要考虑...
4. **SEO优化**:内置支持元标签、自定义URL和Sitemap生成,有利于搜索引擎优化。 5. **多语言支持**:Feincms3可以轻松处理多语言内容,这对于国际化的网站至关重要。 6. **版本控制**:内容编辑过程中提供版本...