Skip to content

目录解析

东方鹗 edited this page May 17, 2018 · 7 revisions

整体目录展示

—— pyblog # 自定义的文件目录
     |—— app # 程序目录
           |—— admin # 蓝图目录
                 |—— static # 静态文件目录
                 |—— templates # html模板目录
                       |-- admin # 2.0 版本新增的文件夹,将所有模板统一归置到该文件夹,
                                 # 为了防止模板目录冲突,详见 https://segmentfault.com/a/1190000012139309
                 |—— __init__.py # 蓝图 admin 的包文件
                 |—— errors.py # 请求错误的 url 视图
                 |—— forms.py # wtf 的各个 form 类
                 |—— views.py # url 视图文件
           |—— main # 蓝图目录                 
                 |—— templates # html模板目录
                       |—— default # default 模板文件夹
                       |——  ...
                 |—— __init__.py # 蓝图 admin 的包文件
                 |—— errors.py # 请求错误的 url 视图
                 |—— forms.py # wtf 的各个 form 类
                 |—— views.py # url 视图文件
           |—— tests # 测试目录
           |—— __init__.py # app的包文件,使用工厂函数启动相关插件,并配置蓝图。
           |—— _customs.py # 自定义内容,主要是利用 misaka 和 pygments 来实现 markdown 转 html,并代码高亮。
           |—— decorators.py # 自定义内容,实现URL的装饰器。
           |—— models.py # 自定义数据类,与数据库的内容一致。
     |—— config.py # 项目配置文件。
     |—— manage.py # 启动文件,以flask-script方式进行启动。
     |—— requirements.txt # 项目插件列表。
     |—— README.md # 项目说明文件。

自定义模板

基于jinja2规范,对模板进行分隔,引用等。

—— default # default 模板目录,在蓝图main的templates文件夹下
     |—— common # 通用模板目录
           |—— base.html # 基础模板,也是所谓的根模板,其它模板都基于此,引入js, css等,并设置block块。
           |—— footer.html # 底部模板,显示版权信息等
           |—— header.html # 头部模板
           |—— search.html # 搜索模板
           |—— sidebar.html # 侧边栏模板
     |—— errors # 错误提示模板目录 (pyblog没有定义,都是空白模板,用户可以自行定义。)
           |—— 403.html
           |—— 404.html
           |—— 500.html
     |—— macros # 宏模板目录 (这个是个jinja2模板中值的学习的地方,强烈推荐。)
           |—— _patination.html # 分页显示的宏模板
     |—— static # 静态文件目录
           |—— js # 需要引入的js文件的目录
           |—— css # 需要引入的css文件的目录
           |—— images # 需要引入的图片文件的目录
     |—— about.html # “关于”模板
     |—— archives.html # “归档”模板
     |—— article.html # “文章”模板
     |—— category.html # “分类”模板
     |—— index.html # 主页模板
     |—— search_result.html # ”搜索结果“模板
     |—— tag.html # ”标签“模板

有兴趣的同学们可以基于 default 模板,自定义自己的个性化模板。


clean 模板目录

最新的 2.0 版本增加了一套 clean 模板

—— clean # clean 模板目录,在蓝图main的templates文件夹下
     |—— common # 通用模板目录
           |—— base.html # 基础模板,也是所谓的根模板,其它模板都基于此,引入js, css等,并设置block块。
           |—— footer.html # 底部模板,显示版权信息等
           |—— header.html # 头部模板
           |—— search.html # 搜索模板
           ~~|—— sidebar.html # 侧边栏模板~~ # 被删除
     |—— errors # 错误提示模板目录 (pyblog没有定义,都是空白模板,用户可以自行定义。)
           |—— 403.html
           |—— 404.html
           |—— 500.html
     |—— macros # 宏模板目录 (这个是个jinja2模板中值的学习的地方,强烈推荐。)
           |—— _patination.html # 分页显示的宏模板
     |—— static # 静态文件目录
           |—— js # 需要引入的js文件的目录
           |—— css # 需要引入的css文件的目录
           |—— images # 需要引入的图片文件的目录
     |—— about.html # “关于”模板
     ~~|—— archives.html # “归档”模板~~ # 被删除
     |—— article.html # “文章”模板
     |—— category.html # “分类”模板
     |—— index.html # 主页模板
     |—— search_result.html # ”搜索结果“模板
     |—— tag.html # ”标签“模板

更换模板

如需更换模板,可在 main 蓝图中的 __init__.py 文件里进行修改。

# -*- coding:utf-8 -*-
__author__ = '东方鹗'


from flask import Blueprint

main = Blueprint('main', __name__, template_folder="templates/clean", static_url_path='',
				 static_folder='templates/clean/static')

# 在末尾导入相关模块,是为了避免循环导入依赖,因为在下面的模块中还要导入蓝本main
from . import views, errors

template_folderstatic_folder 的内容修改为相关模板的路径,然后重启进程即可。

Clone this wiki locally