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

 更新时间:2015年05月30日 17:17:33   投稿:goldensun  
这篇文章主要介绍了简单介绍Python的Django框架的dj-scaffold项目,用于辅助Django框架的目录设置,需要的朋友可以参考下

由于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
 

相关文章

  • python3.7将代码打包成exe程序并添加图标的方法

    python3.7将代码打包成exe程序并添加图标的方法

    这篇文章主要介绍了python3.7将代码打包成exe程序并添加图标的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-10-10
  • 深入浅析Python传值与传址

    深入浅析Python传值与传址

    这篇文章主要介绍了Python传值与传址的相关知识,包括传值与传址的区别介绍,需要的朋友可以参考下
    2018-07-07
  • 在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法

    在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法

    今天小编就为大家分享一篇在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python简单日志处理类分享

    Python简单日志处理类分享

    这篇文章主要介绍了Python简单日志处理类分享,本文直接给出实现代码,需要的朋友可以参考下
    2015-02-02
  • python hough变换检测直线的实现方法

    python hough变换检测直线的实现方法

    这篇文章主要介绍了python hough变换检测直线的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python中eval的用法及说明

    python中eval的用法及说明

    这篇文章主要介绍了python中eval的用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • Python实现的堆排序算法示例

    Python实现的堆排序算法示例

    这篇文章主要介绍了Python实现的堆排序算法,结合实例形式分析了堆排序的原理及Python定义与使用堆排序算法的相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 忘记ftp密码的解决方法示例

    忘记ftp密码的解决方法示例

    忘记ftp密码了怎么办?下面介绍一个使用python ftplib库的方法,大家参考使用吧
    2014-01-01
  • Python 遍历字典的方法汇总

    Python 遍历字典的方法汇总

    这篇文章主要介绍了Python 遍历字典的方法汇总的相关资料,需要的朋友可以参考下
    2023-09-09
  • 基于Python实现新年倒计时

    基于Python实现新年倒计时

    眼看马上春节就要来临了,所以满怀期待的写了一个Python新年倒计时的小工具!文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-01-01

最新评论