django结构分析

目录结构

一个成熟的django项目的结构大致如下:

django project  框架目录结构
|my_project             //项目名 后期可修改建议不修改
|--- __init__.py        //python项目必带  模块化思想
|--- settings.py        //项目的总配置文件  里面包含数据库 web应用 时间等各种配置
|--- urls.py            //URL配置文件  Django项目中所有地址中(页面)都需要我们自己去配置其URL
|--- wsgi.py            //python服务器网关接口
|manage.py              //django项目管理文件 与项目进行交互的命令行工具集的入口
|------------------------------------------------------------------------

django 应用目录结构
project1
|-- migrations                         //数据移植(迁移)模块
|------- __init__.py
|-- __init__.py
|-- admin.py                            //该应用后台管理系统配置
|-- apps.py                             //该应用的一些配置 1.9以后自动生成
|-- models.py                           //数据模块
|-- tests.py                            //自动化测试模块  在这里编写测试脚本
|-- views.py                            //执行响应的代码所在模块  代码逻辑处理主要地点  项目大部分代码在此编写
|--templates                            //模板 放置模板文件的文件夹  包括HTML css JavaScript的文件夹
---------------------------
MTV模式
 M:model,模型,负责与数据库交互
 V:view,视图是核心,负责接收请求、获取数据、返回结果
 T:template,模板,负责呈现内容到浏览器


通常 一个Django model 对应一张数据表,model是以类的形式表现的
实现了ORM 对象与数据库映射 隐藏了数据访问细节 不需要写sql语句

admin是Django自带的    自动化数据管理界面

数据取出顺序 models->views->templates  数据层->逻辑视图层->前端模板层

django以多个应用(app)耦合的形式来组合成一个大的web项目(project),多个app之间可以相互调用,如:
from app1.models import SomeModel

所有应用需要在 settings.INSTALLED_APPS 中注册。除此之外,可在 settings.py 中配置一些公共参数,例如数据库,时区,邮箱,静态文件目录等

静态文件处理 static

好像django的静态文件位置没有限制,为了方便管理统一在根目录下面,按应用名建立目录。这样在web服务器 apahce/nginx 可以方便配置路径别名(Alias)转交web服务器直接进行处理。
同时在 settings.py 中设置 STATIC_URL = '/project/static/'以在模板文件中通过{% static 'app/xxx.css' %}调用

你可能感兴趣的:(python,web)