Fein CMS 内容类型的文章列表
List of Articles form FeinCMS Content Typs
我的任务是获取文章列表。本文来自一个简单的 FeinCMS ContentType。
class Article(models.Model):
image = models.ForeignKey(MediaFile, blank=True, null=True, help_text=_('Image'), related_name='+',)
content = models.TextField(blank=True, help_text=_('HTML Content'))
style = models.CharField(
_('template'),max_length=10, choices=(
('default', _('col-sm-7 Image left and col-sm-5 Content ')),
('fiftyfifty', _('50 Image left and 50 Content ')),
('around', _('small Image left and Content around')),
),
default='default')
class Meta:
abstract = True
verbose_name = u'Article'
verbose_name_plural = u'Articles'
def render(self, **kwargs):
return render_to_string('content/articles/%s.html' % self.style,{'content': self,})
我想在不同的子页面中使用它。
现在如果能在主页上获得所有文章的列表(我的项目 -> 项目 1、项目 2、项目 3 的列表)就太好了。
类似于:Article.objects.all()
模板:
{% for entry in article %}
{% if content.parent_id == entry.parent_id %} #only projects
<p>{{ entry.content|truncatechars:180 }}</p>
{% endif %}
{% endfor %}
但我收到错误消息“类型对象 'Articels' 没有属性 'objects'...
你有什么好主意吗?用Feincms ContentType就很上档次了
FeinCMS 内容类型是 abstract,这意味着没有数据,也没有与之关联的数据库 table。因此,没有objects
管理器,也没有办法查询。
在执行 Page.create_content_type()
时,FeinCMS 获取内容类型和相应的 Page
class 并创建一个包含实际数据的(非抽象)模型。为了访问那个新的具体模型,您需要使用 content_type_for
。换句话说,您正在寻找:
from feincms.module.page.models import Page
PageArticle = Page.content_type_for(Article)
articles = PageArticle.objects.all()
我的任务是获取文章列表。本文来自一个简单的 FeinCMS ContentType。
class Article(models.Model):
image = models.ForeignKey(MediaFile, blank=True, null=True, help_text=_('Image'), related_name='+',)
content = models.TextField(blank=True, help_text=_('HTML Content'))
style = models.CharField(
_('template'),max_length=10, choices=(
('default', _('col-sm-7 Image left and col-sm-5 Content ')),
('fiftyfifty', _('50 Image left and 50 Content ')),
('around', _('small Image left and Content around')),
),
default='default')
class Meta:
abstract = True
verbose_name = u'Article'
verbose_name_plural = u'Articles'
def render(self, **kwargs):
return render_to_string('content/articles/%s.html' % self.style,{'content': self,})
我想在不同的子页面中使用它。
现在如果能在主页上获得所有文章的列表(我的项目 -> 项目 1、项目 2、项目 3 的列表)就太好了。
类似于:Article.objects.all() 模板:
{% for entry in article %}
{% if content.parent_id == entry.parent_id %} #only projects
<p>{{ entry.content|truncatechars:180 }}</p>
{% endif %}
{% endfor %}
但我收到错误消息“类型对象 'Articels' 没有属性 'objects'... 你有什么好主意吗?用Feincms ContentType就很上档次了
FeinCMS 内容类型是 abstract,这意味着没有数据,也没有与之关联的数据库 table。因此,没有objects
管理器,也没有办法查询。
在执行 Page.create_content_type()
时,FeinCMS 获取内容类型和相应的 Page
class 并创建一个包含实际数据的(非抽象)模型。为了访问那个新的具体模型,您需要使用 content_type_for
。换句话说,您正在寻找:
from feincms.module.page.models import Page
PageArticle = Page.content_type_for(Article)
articles = PageArticle.objects.all()