简单介绍Python的Django框架的dj-scaffold项目


Posted in Python onMay 30, 2015

由于Django没有象rails一样指定项目的目录结构规范,很多人都对django项目的目录结构要如何组织而感到困惑。为此我又新创建了一个开源项目dj-scaffold(django的脚手架)。这个项目用于自动生成一个标注化的django项目和app。

项目地址:https://github.com/vicalloy/dj-scaffold
安装

已经发布到了pypi,所以你可以用pip或easy_install 来进行安装。

pip install dj-scaffold 
easy_install dj-scaffold

使用

dj-scaffold主要提供了两个命令,dj-scaffold.py和lbstartapp。
dj-scaffold.py

该脚本用于取代django的startproject命令。使用方式如下:

dj-scaffold.py projectname

在该命令执行后,将创建项目projectname。在项目的scripts目录中提供了脚本create_env.py和env.rc。

  •     create_env.py 执行该脚本将自动初始化python虚拟环境。新生成的python虚拟环境在env目录。
  •     env.rc 该脚本用户启动python虚拟环境(source env.rc)。该脚本同时为python manage.py设置了快捷方式$mg。你可以在任何目录调用$mg来执行django命令。比如你用$mg runserver来启动测试服务器。

项目对应的目录结构如下:

注:文件太多,去掉了部分不重要的文件

 

dj-scaffold.py projectname 

|+docs/  #用于存放项目的相关文档
|+env/   #python虚拟环境,由脚本自动生成
|~requirements/   #第三方依赖包的存放位置
| `-requirements.pip  #pip的依赖说明文件
|~scripts/  #系统相关的脚本
| |-create_env.py  #创建python虚拟环境(env目录)
| `-env.rc  #进入python虚拟环境。同时提供python manger.py的快捷方式$mg。可在任意目录使用$mg。
|~sites/  #Django的项目文件。在settings文件中增加了部分默认配置。如数据库默认使用sqlite,设置项目的模板以及静态文件目录。
| |+media/  #项目静态文件(用户上传)
| |+static/  #项目静态文件(css、js等)
| `+templates/  #项目模板
|+tools/  #一些项目依赖的第三方工具包。如python虚拟环境初始化脚本等。
`~wsgi/  #项目部署用的wsgi文件
 `-dj_scaffold.wsgi

 

lbstartapp

lbstartapp作为django的扩展命令提供。将dj_scaffold加到INSTALLED_APPS后即可使用该命令。该命令将生成一个标准的app,相比django自带的startapp,lbstartapp将那些不太常用的app默认目录也都给生成了出来。对应目录结构如下:

|+management/  #命令目录 
|+static/  #静态文件目录 
|+templates/  #模板目录 
|+templatetags/  #tag目录 
|-__init__.py 
|-admin.py  #admin管理后台的models配置文件 
|-forms.py 
|-models.py 
|-settings.py  #app自己的settings文件 
|-tests.py 
|-urls.py  #urls配置文件 
`-views.py
Python 相关文章推荐
python内存管理分析
Apr 08 Python
Python中的choice()方法使用详解
May 15 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
记一次Django响应超慢的解决过程
Sep 17 Python
pycharm永久激活超详细教程
Oct 29 Python
tensorflow中的数据类型dtype用法说明
May 26 Python
Python的Django框架中settings文件的部署建议
May 30 #Python
Python的Django中django-userena组件的简单使用教程
May 30 #Python
在SAE上部署Python的Django框架的一些问题汇总
May 30 #Python
python实现比较两段文本不同之处的方法
May 30 #Python
python统计文本文件内单词数量的方法
May 30 #Python
python使用win32com库播放mp3文件的方法
May 30 #Python
基于wxpython开发的简单gui计算器实例
May 30 #Python
You might like
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
javascript中的继承实例代码
2011/04/27 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
原生js实现旋转木马轮播图效果
2017/02/27 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
Python正则表达式教程之一:基础篇
2017/03/02 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
提升python处理速度原理及方法实例
2019/12/25 Python
pytorch 修改预训练model实例
2020/01/18 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
卖车协议书范本4篇
2014/10/01 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
中学生运动会广播稿
2015/08/19 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers