环境搭好了,就开始学习一下Django框架
1、项目结构
创建完项目后,结构如下
这些目录和文件的用处是:
- 最外层的 Hello
/
根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。 manage.py
: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有manage.py
的细节。- 里面一层的 hello
/
目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 hello.urls
). hello/__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。hello/settings.py
:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。hello/urls.py
:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。hello/asgi.py
:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。阅读 如何使用 ASGI 来部署 了解更多细节。hello/wsgi.py
:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。
以上是官方查到的关于项目的结构说明,主要是放整个项目的配置信息
2、应用结构
在manage.py这一层,通过以下命令创建一个名称为app的应用
python manage.py startapp app
(注:最后一个app是应用名称,可以自己取一个)
应用结构如下:
- admin.py : 应用后台管理配置文件。
- apps.py : 应用配置文件。
- models.py : 数据模块,数据库设计就在此文件中设计。
- test.py : 自动化测试模块,可在里面编写测试脚本自动化测试。
- view.py : 视图文件,用来执行响应代码的。你在浏览器所见所得都是它处理的。
- migrations:数据迁移、移植文目录,记录数据库操作记录,内容自动生成。
以上是应用结构,关于应用我刚开始还有一个疑惑,如果是比较大一点的项目,把所有功能都写在一个应用上那不是单文件代码很大?如果是小应用可以都写在一起,如果是大应用,可以把功能模块分成多个应用。
3、Django MTV模式
目前主流的Java,.NET或PHP一般使用的都是MVC模式,MVC模式大家应该很熟悉,Django用的是MTV模式,什么是MTV?
- Model:负责业务对象和数据库的关系映射(ORM),与MVC模式中的Model是等同。
- Template:负责如何把页面展示给用户(HTML),这部分类似与MVC中的视图。
- View:负责业务逻辑,并在适当时候调用Model和Template。跟MVC中的Controller等同。