简单介绍Python的Django框架的dj-scaffold项目
作者:goldensun 发布时间:2021-11-01 07:18:05
由于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


猜你喜欢
- 一、正常配置stylus流程1.安装stylus、stylus-loader依赖(进入项目文件夹下)cnpm install stylus
- 在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密。比如密码中比较常见的MD5加密,以及AES加密等等。对于密码认证来说,M
- 在上一篇文章中,我们通过AST完成了微信小程序组件的多端编译,在这篇文章中,让我们更深入一点,通过AST完成一个javascript元循环求
- sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分.处理命令行参数在解释器启动后, argv 列表包含了传递给脚本的
- 前言这篇博客针对《Python OpenCV识别行人入口进出人数统计》编写代码,功能包括了入口行人识别,人数统计。代码整洁,规则,易读。应用
- 一些小技巧1. 如何查出效率低的语句?在MySQL下,在启动参数中设置 --log-slow-queries=[文件名],就可以在指定的日志
- Opera, 作为 A-Grade 浏览器,在现在的前端开发中务必支持。它很优秀,很不幸,bug是每个浏览器都不可避免的问题,Opera亦难
- 边缘检测图像边缘是指图像中表达物体的周围像素灰度发生阶跃变化的那些像素集合。图像中两个灰度不同的相邻区域的交界处,必然存在灰度的快速过渡或称
- 这是一款简单,方便,功能齐全的分页类,可以根据自己的需要更改CSS样式文件以实现分页颜色的控制,利用p
- 1. ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,as
- 前言相关性分析算是很多算法以及建模的基础知识之一了,十分经典。关于许多特征关联关系以及相关趋势都可以利用相关性分析计算表达。其中常见的相关性
- 用扩展名判断文件格式非常简单,但是有可能是错误的。 jpeg文件有固定的文件头,其文件头的格式如下:Start Marker | JFIF
- 一、为什么难 秒杀系统难做的原因:库存只有一份,所有人会在集中的时间读和写这些数据。例如小米手
- 对于任何一个开发项目来说最大的错误可能就是没有计划。最近,有些人认为开始前无需计划,一个优秀的开发者需要的是随机应变。我敢肯定这样的做法最后
- 本文研究的主要是Python web开发框架Django的管理界面的相关内容,具体如下。admin界面的路径,通常在my_project中已
- 为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用这里借助python的psutil这个包
- WINDOWS 下装MongoDB先去官网下载 :https://www.mongodb.com/download-center
- 写了一个小巧的jquery拾色工具,代码简单得不得了,只有这么几行:(function($){ $.fn.pickColor=fu
- Vue中内置了很多的指令,如v-model、v-show、v-html等,但是有时候这些指令并不能满足我们,或者说我们想为元素附加一些特别的
- 这篇文章主要介绍了Python如何使用Gitlab API实现批量的合并分支,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的