django-cms 代码研究(五)深入(代码结构)
前言:
前戏已经做得比较充分了,下面我们开始步入正题。
代码结构:
cms
|--admin (猜测是admin界面的二次开发和改良)
|--cache (猜测是缓存机制的处理)
|--extensions (猜测是各种扩展的支持包:比如video/picture/teaser等等)
|--forms (猜测是所有的forms.py的集合)
|--locale (国际化)
|--management (想象力有限,此处留空)
|--middleware (中间件)
|--migrations (迁移文件)
|--models (模型)
|--publisher (猜测是发布控制器)
|--signals (想象力有限,留空)
|--sitemaps (网站地图)
|--static (静态文件)
|--templates(模板)
|--templatetags(自定义标签和过滤器)
|--toolbar (猜测是工具包,具体用来干嘛未知)
|--utils (实用类/函数包)
|--tests/test_utils(测试模块:略)
|--api.py (不知道用来干嘛的)
|--app_base.py (貌似是上面的基类)
|--apphook_pool.py (猜测是自动发现并加载app的相关处理)
|--appresolver.py (app解析器)
|--apps.py (app相关处理)
|--cms_plugins.py (插件的处理逻辑,应该和上面的toolbar有一定关系)
|--cms_toolbar.py (工具栏,应该和上面的toolbar有一定关系)
|--contants.py (常量?!)
|--context_processors.py(上下文处理器)
|--exceptions.py(cms异常?)
|--menu.py (菜单挂钩的处理)
|--menu_bases.py (菜单处理的基类)
|--plugin_base.py (插件的基类)
|--plugin_pool.py (插件池)
|--plugin_processors.py(插件处理器)
|--plugin_rendering.py(插件的渲染)
|--toolbar_base.py(工具栏基类)
|--toolbar_pool.py(工具栏池)
|--views.py (视图)
|--urls.py (路由)
下一节:
深入分析plugin
django-cms 代码研究(五)深入(代码结构)的更多相关文章
- dedecms代码研究五
上一次留几个疑问: 1)DedeTagParse类LoadTemplet方法. 2)MakeOneTag到底在搞什么. 从DedeTagParse开始前面,我们一直在dedecms的外围,被各种全局变 ...
- CWMP开源代码研究1——开篇之作
原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...
- [转载]iOS6新特征:UICollectionView官方使用示例代码研究
原文地址:iOS6新特征:UICollectionView官方使用示例代码研究作者:浪友dans 注:这里是iOS6新特征汇总贴链接 iOS6新特征:参考资料和示例汇总 这个链接可以学习到UIColl ...
- dedecms代码研究二
dedecms代码研究(2)从index开始现在继续,今天讲的主要是dedecms的入口代码.先打开index.PHP看看里面是什么吧.打开根目录下的index.php嗯映入眼帘的是一个if语句.检查 ...
- Ningx代码研究.
概述 研究计划 参与人员 研究文档 学习emiller的文章 熟悉nginx的基本数据结构 nginx 代码的目录结构 nginx简单的数据类型的表示 nginx字符串的数据类型的表示 内存分配相关 ...
- UICollectionView官方使用示例代码研究
注:这里是iOS6新特征汇总贴链接 iOS6新特征:参考资料和示例汇总 这个链接可以学习到UICollectionView的相关介绍:iOS6新特征:UICollectionView介绍 由于UICo ...
- 一段markdown编辑器代码研究
一段markdown编辑器代码研究 说明 代码在 https://github.com/dukeofharen/markdown-editor 之所以选择这个来分析是一方面是因为它的代码结构比较简单, ...
- CWMP开源代码研究——git代码工程
原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...
- .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量
随着团队越来越多,越来越大,需求更迭越来越快,每天提交的代码变更由原先的2位数,暴涨到3位数,每天几百次代码Check In,补丁提交,大量的代码审查消耗了大量的资源投入. 如何确保提交代码的质量和提 ...
- CWMP开源代码研究2——easycwmp安装和学习
声明:本文是对开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅号:408797506) 本文所有笔记和代码可以到csdn下载:http://download.csdn.n ...
随机推荐
- AngularJS - 路由入门
我们有很多方法让一个视图随着用户的操作进行变化. 但是,只是单单一个视图就要满足所有的需求会让代码变得非常复杂. 也许我们可以使用ng-include来引用各种模板,但这只限于部分场景. 于是我们可以 ...
- G-nav-02
/*header: Navigation public style*/header:before, header:after ,.navigation:before, .navigation:afte ...
- SQL Server 2008 R2导出数据脚本的方法
以前看到有些朋友说必须SQL Server 2008才能导出包含数据的脚本,后来仔细研究发现其实SQL Server 2008 R2也是可以的,只需在导出的时候在高级中设置一下即可. 1.首先在数据库 ...
- 金融自助设备WOSA/XFS规范介绍
wosa(全称是windows开放式系统体系结构 windows open system architecture),是微软公司提出的一种在windows操作系统下的软件架构. wosa/xfs是基于 ...
- Java中的继承、封装、多态、抽象
1.继承 java 和某些面向对象语言(如 c++)在实现继承的不同之处在于java只支持单继承,不支持多重继承.即java 中一个类只能继承于另一个类.我们将被继承的类称之为父类(基类),继承类称之 ...
- Erlang之父的学习历史及学习建议
当我开始学习编程的时候(1967年),我可以在 FORTRAN 和(传说中的)Algol 之间选择,不过没有任何人了解 Algol,所以我选择了 FORTRAN. 在我最早学习编程的时候,我的编程周期 ...
- android button 函数调用栈
Button button=(Button) findViewById(R.id.button);button.setOnClickListener(new Button.OnClickListene ...
- vs------安装window net.framework 出现严重错误解决方法
打开system32和SysWOW64修改里面共六个msvcr100_clr0400.dll文件的名字除了带120的文件不用修改 需要修改管理员权限: 步骤:属性->安全->编辑-> ...
- jquery------显示加载的js时出现中文乱码解决方法
方法: 把my.js文件复制出来,用记事本打开,再另存为的时候设置编码格式为utf-8即可
- ecshop后台导航修改教程说明
ecshop后台导航修改教程说明 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2014-06-25 需要操作的文件为: 1.修改admin\includes\in ...