Soogor CMS模板开发延续的django APP开发思路。开发一个新的APP。
今天主要是分享一下Soogor CMS快速开发主题的方法
模板文件位于soogor/sg_user文件下
我们以”tem“为名来说名这个文件目录
+sg_user
+-tem #这里是主题名字,使用小写
+--__pycache__
+--static#静态文件目录,包括css,images,js等
+---css
+---images
+---js
+--templates#模板html文件
+---tem #这里是主题名字,使用小写。这是django框架的一个规则,通过这个规则 可以抽出相关的文件(必须有这个)
+----users #这里是前端用户中心的模板
+----内容页
+-----sg_article.html#默认内容页,当栏目中没有设置个性内容页的时候,则使用该模板
+-----searchitem.html#默认搜索页
+-----noticeitem.html#默认公告内容页
+-----baikeitem.html#默认百科内容页,用于百度app的使用
+----频道首页
+-----baikeindex.html#百科首页
+-----node_baike.html#频道百科形式首页,当栏目设置为百科栏目时,可以使用该模板为首页模板
+-----noticeindex.html#公告列表页
+-----searchindex.html#搜索首页
+-----sg_nodeindex.html#默认栏目首页,当栏目没有设置栏目首页时使用该页面为模板
+--archive.html #按时间归档内容模板
+--base.html #主模板
+--comments.html #评论区模板
+--error.html #错误页模板,主要用于400 500等这些页面,当响应出现错误时使用的模板
+--header.html #通用头部模板
+--index.html #用于首页模板
+--nav.html #导航模板
+--page.html #分页模板
+--sg_tagarticle.htmll #tag列表页模板
快速开发主题
第一步:复制默认模板default
第二步:修改APP名为newthem
此时我们假设我们的新文件夹名为newthem
我们将刚才复制的新文件夹改为newthem,此时我们可以认为这个新的文件夹为新的APP,名为newthem
然后我们完善新的APP引用
soogor\sg_user\newthem\apps.py
from django.apps import AppConfig
class NewthemConfig(AppConfig):#注意驼峰写法
default_auto_field = 'django.db.models.BigAutoField'
name = 'newthem'#注意新字母小写
我们一定要注意NewthemConfig的驼峰写法和name中的小写。
NewthemConfig:这里可以理解为"newthem"和“Config”的结合
name这里相当于刚才APP的名字为"newsthem",这里的大小写须和刚才的APP名字一样,为了避坑,我们直接小写就OK
第二步:修改templates文件下的文件夹名
soogor\sg_user\newthem\templates\default
修改为
soogor\sg_user\newthem\templates\newthem
django中的逻辑就是templates下的文件夹要和APP的名字一样,否则会出错
第三步,修改原模板中的引用
比如soogor\sg_user\newsthem\templates\newsthem\index.html
{% extends "default/base.html" %}
修改为:
{% extends "newsthem/base.html" %}
{% extends "newsthem/base.html" %} 表示引用ewsthem模板下的base.html文件为父级模板。
我们后台改变主题时原来的文件夹default就不在程序的浏览范围内了,一切有关default主题模板都不在引用范围内,所以我们须引用新的主题下的模板为父级模板
其他有引用的同理操作
第四步:修改config.ini
soogor\sg_user\newsthem\config.ini
[ThemeInfo]
Name=默认样式
[Author]
Name=Soogor
ThemeInfo.Name为样式名称
Author.Name为作者名称
第五步:修改效果图
soogor\sg_user\newsthem\ThemeImg.jpg
这里是效果图的路径
然后就可以在soogor\sg_user\newthem\templates\newthem下修改这些模板了