简单介绍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 SQLite3数据库操作类分享
Jun 10 Python
Python守护进程用法实例分析
Jun 04 Python
如何利用Fabric自动化你的任务
Oct 20 Python
快速解决PyCharm无法引用matplotlib的问题
May 24 Python
TensorFlow实现简单卷积神经网络
May 24 Python
详解python之协程gevent模块
Jun 14 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
python中字符串内置函数的用法总结
Sep 13 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
Python3爬虫带上cookie的实例代码
Jul 28 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
实现获取http内容的php函数分享
2014/02/16 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
商务英语专业应届毕业生求职信
2013/10/28 职场文书
工作时间上网检讨书
2014/02/03 职场文书
公司户外活动总结
2014/07/04 职场文书
英文感谢信格式
2015/01/21 职场文书
博士给导师的自荐信
2015/03/06 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL
Mysql开启外网访问
2022/05/15 MySQL