Django自身集成了丰富的WEB开发通用组件,如用户认证、分页、中间件、缓存、session等,可以避免浪费大量时间重复造轮子。
基础使用
- 安装Django
pip install django
- 创建一个项目
django-admin startproject mysite(项目名)
- 创建子项目
python manage.py startapp apptest(子项目名)
- 启动项目
python manage.py runserver
项目结构
mysite
├── manage.py # 管理程序的文件,启动和结束等。
|—— apptest #子项目
| |———— __init__.py 包
| |———— admin.py 管理数据库
| |———— apps.py django把项目和app关联起来的一个文件
| |———— model.py 数据库操作的地方
| |———— test.py 单元测试的地方
| |———— views.py 业务逻辑代码
| |———— migrations 数据库相关
| |—— __init__.py
|
└── my site
├── __init__.py
├── settings.py # 程序的配置文件
├── urls.py # 程序的路由系统,即:url和处理其函数的对应的关系
└── wsgi.py # 指定框架的wsgi
套用模板
Django有个叫模板(Template)的东东,可以直接把你的Html代码写在模板里,返回给浏览器。
settings.py中含有BASE_DIR指当前路径
具体步骤如下:
-
配置存html文件的模板目录
– 在TEMPLATES中的DIRS添加html文件路径os.path.join(BASE_DIR,html文件路径:"") -
在views.py的响应函数(test_view)里返回对应的html文件
-
在urls.py中导入from apptest import views
– 并在urlpatterns列表中添加路径path(路径的名字:‘test’,响应函数:views.test_view)
MVC & MTV
-
MVC:
Model(模型)一般对应数据库操作、纪录的存取
View(视图)决定着如何展示数据
Controller(控制器)负现处理用户交互的部分。控制器负责从视图读取数据,控制用户输入,并向模型发送数据。 -
MTV:
Model:(数据存储层),处理所有数据相关的业务,和数据库进行交互,并提供数据的增删改查;
Template:(模板层(也叫表现层))具体来处理页面的显示; View:(业务逻辑层),处理具体的业务逻辑,它的作用是连通Model 层和 Template 。
Django是一个MTV框架,其架构模板看上去与传统的MVC架构并没有太大的区别。Django将MVC中的视图进一步分解为 Django视图 和 Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。至于MVC控制器部分,由Django框架的URLconf来实现。