简单介绍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中writelines()方法的使用
May 25 Python
详解Python3中的Sequence type的使用
Aug 01 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
Apr 15 Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
python SocketServer源码深入解读
Sep 17 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
Keras使用ImageNet上预训练的模型方式
May 23 Python
Python turtle编写简单的球类小游戏
Mar 31 Python
PYTHON InceptionV3模型的复现详解
May 06 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 xml-rpc远程调用
2008/12/19 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
jquery果冻抖动效果实现方法
2015/01/15 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
推荐11个实用Python库
2015/01/23 Python
python操作字典类型的常用方法(推荐)
2016/05/16 Python
python2 与python3的print区别小结
2018/01/16 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
使用python3实现操作串口详解
2019/01/01 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
django使用多个数据库的方法实例
2021/03/04 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
学校消防安全责任书
2014/07/23 职场文书
教师培训简讯
2015/07/20 职场文书