Django 1.6 最佳实践: Django项目的布局结构和目录结构
2014-09-07 17:26
676 查看
Chen, 发布日期: 2014-05-16, 修改日期: 2014-05-16
不同的程序员对于项目布局都有着不同的见解, 在本文中, 我们会介绍我们使用的布局结构. 这种结构应该也是使用最为广泛的结构了.
1. Django默认的项目部局
当我们使用django-admin.py startproject mysite 和 django-admin.py startapp my_app 建立新的Django项目时, Django默认的结构如下:mysite/ manage.py my_app/ __init__.py admin.py models.py tests.py views.py mysite/ __init__.py settings.py urls.py wsgi.py
在Django默认的项目部局中, 存在着一些问题, 特别是在部署到真正的服务器时, 这些问题会越发的明显, 下面我们会一一阐述这些问题:
2. 最终的项目布局
我们使用三层结构来布局我们的Django项目: 最外层是git仓库, 中间层则是django-admin.py默认的生成的项目层, 最里层则是设置层:repository_root/ django_project_root/ configuration_root/
a. 最外层
最外层是整个项目的容器, 除了包括django程序外, 还包括README.rst, docs/, .gitignore, requirements.txt等用于部署到服务器的 必须文件或目录. 这样这些文件便可以通过git管理, 方便开发和维护的使用.README.rst文件和docs目录是用于介绍本项目的文档, 方便程序员了解项目的基本功能等, 我们会在今后详细介绍这一文档.
.gitignore文件是git版本控制系统的设置文件之一, 用于设置本仓库中需要忽略的文件或目录, 既不需要保存版本记录文件或目录.
requirements.txt则记录着本项目中用到的Python模块和版本的列表, 通常是通过pip freeze获取的. 我们会在今后详细介绍这一文档.
b. 中间层
中间层则是由django-admin.py生成, 也就是django默认的项目布局, 中间层生成时, 也包括了最里层: 设置层. 这一层中包括了media目录, static目录, templates目录, 和Django app.
c. 最里层
最里层设置层中, 包含了django-admin.py生成的设置文件, 包括settings.py, urls.py等文件.
3. Virtualenv
我们建议将所有virtualenv文件放在统一的目录下, 如果你使用virtualenvwrapper的话, 它位于~/.virtualenvs/中. 并且, 这些文件没有必要保存到git版本管理中, 因为我们已经保存了requirements.txt文件.原文链接: http://www.weiguda.com/blog/5/
相关文章推荐
- python开源项目目录结构参考和django最佳实践:项目布局
- django项目目录结构最佳实践
- Django最佳实践:项目布局
- Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)
- django最佳实践:项目布局
- django最佳实践:项目布局
- django最佳实践:项目布局
- Django 1.6 最佳实践: django项目的服务器自动化部署(转)
- Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)
- django最佳实践:项目布局
- django最佳实践:项目布局
- Django 1.6 最佳实践: 如何正确使用 User Model
- Django & Docker项目结构实践 2
- Django 1.6 最佳实践: 如何正确使用 CBVs (Class-based views)
- Go语言(golang)包设计哲学/原则与项目结构组织最佳实践
- 【Unity游戏开发之五】游戏目录结构之最佳实践和优化
- Django 1.6 最佳实践: 如何正确使用 Signal(转)
- (转)Django 1.6 最佳实践: 如何正确的使用和设置Database和Model
- 项目结构最佳实践
- Django 1.6 最佳实践: 如何正确的使用和设置Database和Model