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 ...
随机推荐
- 第十二章:window对象
第十一章介绍了window对象及其客户端javascript所扮演的核心角色:它是客户端javascript程序的全局对象.本章介绍window对象的属性和方法,这些属性定义了不同的API,但是只有一 ...
- ios开发怎么获取输入的日期得到星期
+ (NSString*)weekdayStringFromDate:(NSDate*)inputDate { NSArray *weekdays = [NSArray arrayWithObject ...
- ansible-2添加公钥
该文章摘自:http://www.fwqtg.net/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7ansible%E5 ...
- Linux使用
RedHat5 [cat] 将一个文件内容加入到另外一个另外一个文件中 参数 -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似 ...
- 【探秘ES6】系列专栏(一):ES6简介
摘要:新一代JavaScript标准,ES6即将发布.[探秘ES6]系列专栏将一一剖析ES6的诸多新特性,让Web开发者对此有清晰全面的了解.本文为系列的第一篇,带你了解ES6到底是什么以及有哪些令人 ...
- 【转】从Go、Swift语言出发
Google于2009年第一次提出了Go的构思,Facebook在去年春天引入了Hack,随后不久Apple也发布了其Swift语言. 在战争中,胜利者写历史书:在科技中,赢的公司都在写编程语言.互联 ...
- JSP/Servlet基础语法
相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...
- 迷宫问题(bfs)
import java.util.LinkedList; import java.util.Queue; import java.util.Stack; public class BFS { priv ...
- HD1847 Good Luck in CET-4 Everybody!(巴什博弈)
巴什博弈: 一堆物品n个,最多取m个,最少取1个,最后取走的人获胜 分析:只要保证取玩最后剩m+1个,则必定胜利,所以构造m+1,只要n是 m+1的倍数,则先手必败,每次先手取玩,后手可取使得剩下的仍 ...
- [Angularjs]ng-show和ng-hide
写在前面 上篇文章介绍了ng-select和ng-options指令的使用,这篇文章继续指令的学习,本篇文章讲学习ng-show和ng-hide指令. 系列文章 [Angularjs]ng-selec ...