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

djpython教程_简单介绍Python的Django框架的dj-scaffold项目相关推荐

  1. python协程异步原理_简单介绍Python的Tornado框架中的协程异步实现原理

    Tornado 4.0 已经发布了很长一段时间了, 新版本广泛的应用了协程(Future)特性. 我们目前已经将 Tornado 升级到最新版本, 而且也大量的使用协程特性. 很长时间没有更新博客, ...

  2. python中len用法_简单介绍Python中的len()函数的使用

    简单介绍Python中的len()函数的使用 函数:len() 1:作用:返回字符串.列表.字典.元组等长度 2:语法:len(str) 3:参数:str:要计算的字符串.列表.字典.元组等 4:返回 ...

  3. python简单装饰器_简单介绍Python装饰器(一)

    装饰器的作用 相信大家在 探索过程中已经了解装饰器的作用,也有很多花里胡哨的介绍. 这次小冰也来讲解一下关于Python装饰器的一些小知识. 它的作用: 性能测试 日志 安全验证 ...... 相信大 ...

  4. python内存的回收机制_简单介绍python的垃圾回收机制

    这篇文章主要介绍了python垃圾回收机制的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是垃圾回收机制? 首先,咱先来解释名词,垃圾回收是不是就是将没用的,废弃的东西回 ...

  5. python链表详细教程_详细介绍python数据结构之链表

    这篇文章主要为大家详细介绍了python数据结构之链表的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 数据结构是计算机科学必须掌握的一门学问,之前很多的教材都是用C语言实现链表,因为c有 ...

  6. python pipeline框架_介绍Python的Django框架中的静态资源管理器django-pipeline

    django-pipeline 是一个 Django 下非常方便的静态资源管理 app,尤其是 1.2 版本之后,利用 django-staticfiles 的collectstatic 命令,在开发 ...

  7. python程序框架的描述_简单介绍Python下自己编写web框架的一些要点

    在正式开始Web开发前,我们需要编写一个Web框架. 为什么不选择一个现成的Web框架而是自己从头开发呢?我们来考察一下现有的流行的Web框架: Django:一站式开发框架,但不利于定制化: web ...

  8. python打开excel窗口_简单介绍python在CMD界面读取excel所有数据

    这篇文章主要介绍了python在CMD界面读取excel所有数据,帮助大家更好的利用python办公,感兴趣的朋友可以了解下 代码 import xlrd import os from prettyt ...

  9. len函数python返回值类型_简单介绍Python中的len()函数的使用

    01状态机介绍 游戏中的状态机一般都是有限状态机,简写为FSM(有限状态机),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型. 状态机的每一个状态至少需要有以下三个操作: ...

最新文章

  1. android 读取内部存储文件格式,Android中的数据储存之文件存储
  2. 热力学第二定律中的悖论 | 集智百科
  3. 洛谷4147:玉蟾宫——题解
  4. orcal 数据库 maven架构 ssh框架 的全xml环境模版 及常见异常解决
  5. Eclipse VIM
  6. linux nagios 检查udp端口,nagios插件之监控udp端口状态
  7. 怎么理解马氏距离呢?简单的解释
  8. mysql忘记root密码解决办法
  9. WebBrowser 控件 内存溢出 补丁 From Microsoft
  10. having和where可以同时使用吗_阴、阳离子聚丙烯酰胺可以同时混合溶解使用吗?...
  11. php中cnum函数,PHP vprintf() 函数
  12. [链接].VGA信号时序
  13. python中对象的概念是什么_python面向对象编程的基本概念
  14. 叫醒你的是闹钟,还是梦想?
  15. 学生管理系统IPO图_图书管理系统开发背景和意义
  16. AGV调度系统开发1(电子地图编辑软件)
  17. 许愿墙 php源码,许愿网许愿墙 v1 共享版
  18. 角色个人属性英文缩写
  19. codeforces——962
  20. AR技术和VR技术的区别是什么?

热门文章

  1. c语言long的格式字符串,时间字符串和long类型之间的转换
  2. Redis夺命十二问,你能扛到第几问?
  3. 怎样使用orapwd新建口令文件
  4. Shell编程之通配符和用户自定义变量
  5. 单片机四位数加减计算机程序,51单片机简易计算器程序 实现数字的加减乘除运算...
  6. Linux使用cmake编译项目,如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake)...
  7. 线程中如何使用对象_在 Flink 算子中使用多线程如何保证不丢数据?
  8. alc236黑苹果驱动_台式机黑苹果独显驱动
  9. java开发环境怎么写_Java开发基础设置:如何配置Java运行环境
  10. 手持巡检仪_专业的三防产品设计-电力巡检仪设计