如何訪問django中的擴展的flatpage中的字段?
我寫了這個:在django中訪問擴展的flatpage中的字段
class ExtendedFlatPage(FlatPage):
teaser = CharField(max_length=150)
class ExtendedFlatPageForm(FlatpageForm):
teaser = CharField(max_length=150)
class Meta:
model = ExtendedFlatPage
class ExtendedFlatPageAdmin(FlatPageAdmin):
form = ExtendedFlatPageForm
fieldsets = (
(None, {'fields': ('url', 'title', 'teaser', 'content', 'sites',)}),
)
admin.site.unregister(FlatPage)
admin.site.register(ExtendedFlatPage, ExtendedFlatPageAdmin)
與創作管理員就可以了。但後來在flatpages/default.html我試過這個:
<html>
<body>
<h1>{{ flatpage.title }}</h1>
<strong>{{ flatpage.teaser }}</strong>
<p>{{ flatpage.content }}</p>
</body>
</html>
而且沒有flatpage.teaser!哪裏不對?
我認爲FlatpageFallbackMiddleware仍然會使用默認的Flatpage模型。此外,您的方法將使用[多表繼承](http://docs.djangoproject.com/en/dev/topics/db/models/#multi-table-inheritance),這意味着您有兩個爲擴展模型創建的表使您的查詢效率降低。 – 2010-12-22 09:56:20
是的,我看到了第二個表和正確的值。問題是我如何訪問flatpage模板中的新字段? – Stan 2010-12-22 09:58:30