template = 'home/home_page.html'
指定模板文件的位置,如果不指定,则模板文件位于本app的models同级templates文件夹下的app文件名下的与class同名的html中
页面中展示的内容都是models中类的一个字段,在homepage添加一个subtile字段
并把它展示在页面中,如下,使用content_panels 和 FieldPanel关键字
字段的实际显示名,可用verbose来处理
迁移下数据
打开首页编辑
目前首页是没有内容的,因为对应的渲染模板页面还没有处理。
在模板中,所有的变量被封存到了page对象中。
{{ }}用来显示变量。
在models中增加一个问本字段
数据迁移下
刷新管理页面
多了一个content1字段
添加内容
模板页
在blogpage中增加一个open_type字段,这个字段是通过下拉菜单选择,下拉菜单内容在 TYPE_CHIOCES 中定义死了。
TYPE_CHIOCES = (
('switchTab', '底部标签'),
('navigate', '页面导航'),
)
open_type = models.CharField(max_length=20, choices=TYPE_CHIOCES, null=True, verbose_name='打开类型')
# Export fields over the API
api_fields = [
APIField('image'),
APIField('body'),
APIField('open_type'),
]
content_panels = Page.content_panels + [
MultiFieldPanel([
FieldPanel('date'),
FieldPanel('authors', widget=forms.CheckboxSelectMultiple),
], heading="Blog information"),
FieldPanel('image'),
FieldPanel('open_type'),
FieldPanel('body'),
添加一个富文本字段
迁移数据
发布出去
模板增加标签加载和富文本的过滤器
刷新页面
图片的处理
迁移数据,刷新管理页面
渲染模板增加标签加载和指定图片加载尺寸
文件处理
迁移数据刷新管理页面
公共部分都移入到base.html中
mysite\templates\base.html
{% load static wagtailuserbar %}
<!DOCTYPE html>
"en">
"UTF-8">
Title</title>
<!-- CSS -->
"https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css" rel="stylesheet">
<!-- jQuery and JavaScript Bundle with Popper -->