python-在django中扩展平面中的字段访问
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-在django中扩展平面中的字段访问,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1012字,纯文字阅读大概需要2分钟。
内容图文
![python-在django中扩展平面中的字段访问](/upload/InfoBanner/zyjiaocheng/672/605455fd3e9c4de4946ec63cf1fcb4b7.jpg)
如何在django中扩展扩展页面中的字段?
我这样写:
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)
并且可以在admin中创建.但是然后在flatpages / default.html中,我尝试了以下操作:
<html>
<body>
<h1>{{ flatpage.title }}</h1>
<strong>{{ flatpage.teaser }}</strong>
<p>{{ flatpage.content }}</p>
</body>
</html>
而且没有flatpage.teaser!怎么了?
解决方法:
是的,正如rebus提到的,FlatpageFallbackMiddleware会将默认的FlatPage模型实例传递给模板.但是在您的情况下,模板变量{{flatpage}}也会记住它是否是ExtendedFlatPage实例,如django-docs中所述.
因此,要将您的平板视为ExtendedFlatPage,您必须使用:
{{flatpage.extendedflatpage.teaser}},而不是{{flatpage.teaser}}.
内容总结
以上是互联网集市为您收集整理的python-在django中扩展平面中的字段访问全部内容,希望文章能够帮你解决python-在django中扩展平面中的字段访问所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。