我目前在我的wagtail网站上添加新页面的方法如下:
编辑已安装的应用以包含我的新页
INSTALLED_APPS = [
'home',
'anotherpage',
'newpage', # this is new
'wagtail.wagtailforms',
...
]
将anotherpage
的格式复制为newpage
cp -rf anotherpage newpage
将我对newpage/models.py
的{{1}}引用编辑为anotherpage
。
E.g。
newpage
变为
class Anotherpage(Page):
class Newpage(Page):
引用
重命名:newpage/migrations/0001_initial.py
和mv feedback/templates/info feedback/templates/feedback
等
然后运行mv feedback/templates/feedback/info_page.html feedback/templates/feedback/feedback_page.html
然后python manage.py makemigrations
问题
这个工作流程效率很低,有没有比这更好的方法呢?
我是python和wagtail的新手。任何关于我可以做得更好的见解都将非常感激
答案 0 :(得分:1)
您不必为您创建的每个新页面模型创建新的INSTALLED_APPS
条目和应用程序文件夹 - 单个models.py
文件可以包含任意数量的页面模型。通常,我会为您网站的每个主要区域推荐一个应用程序 - 例如,您可以拥有包含blog
,BlogPage
和BlogIndex
页面类型的BlogArchive
应用。如果需要,您甚至可以在一个应用程序中为整个站点定义页面模型 - 尽管在文件变得非常大时可能难以维护。
这样,创建新的页面模型只需要将class Newpage(Page):
定义添加到现有models.py
,运行./manage.py makemigrations
,并将新模板添加到现有模板目录中。
此外,当您决定创建新应用程序时,可以使用./manage.py startapp some_app_name
命令来节省手动创建文件和文件夹的时间。