(一)初识 Django
今天我们来学习什么是 Django 框架
在学任何东西时,首要的就是学习基础概念,你得知道它是干什么的,才能知道做出的东西的意义是什么
Django 是 Python 社区的两大最受欢迎的 Web 框架之一(另一个是 Flask),凭借功能强大的脚手架和诸多开箱即用的组件,用 Django 搭建 Web 应用快速而又省力。但因为过于强大,想要驾驭它需要花费不少的力气,本教材将通过实现一个新闻发布网站带你快速熟悉 Django 框架
来源
Django 由 Adrian Holovaty 和 Simon Willison 在 2003 年的秋天写成,并在 2005 年正式发布。他们俩当时为一个新闻报社制作网站,对快速开发有着比较高的需求,并且希望能够在开发的同时也能够让非技术人员为网站添加内容。于是这也使得 Django 具备了两项鲜明的特点:
- 高度强调可复用性和可插拔性,内置大量现成的成熟组件,开发效率极高
- 自带与数据库联动的后台管理系统,能够在开发的同时创建内容
MTV 框架
MTV 框架是每个 Django App 的组织结构
- M(Model):创建数据模型,并执行数据库迁移
- T(Template):写出基本的 Django 模板,并从视图中传入数据
- V(View):在视图中访问数据库,实现业务逻辑,渲染模板,并接入路由表 如果大家了解过 MVC 框架的话,或许就不会陌生了,如下:
| MVC | MTV | |
|---|---|---|
| 数据模型 | Model | Model |
| 用户界面 | View | Template |
| 业务逻辑 | Controller | View |
大家熟知的 View,在 Django 里面代表的是业务逻辑,也就是 MVC 中的控制器
安装
安装前需要确保环境中存在 python3 和 pip,然后就可以直接使用 pip 进行安装
# 一般情况下 python 都是 3.1.2 版本
python3 -m pip install django
初步体验
安装好 Django 后,我们用 Django 自带的脚手架工具 django-admin 创建项目:
source ~/django-env/bin/activate
django-admin startproject django_news
cd django_news

django_news
├── django_news // 项目全局文件目录
│ ├── __init__.py
│ ├── settings.py // 全局配置
│ ├── urls.py // 全局路由
│ └── wsgi.py // WSGI服务接口(暂时不用纠结这个是神马)
└── manage.py // 项目管理脚本
使用 manage.py 运行开发服务器(Development Server)
python manage.py runserver


总结
我认为,当你看完这一篇教程之后,你应该会有这么一个印象:
Django 是一个高度模块化的 Web 框架,提供了丰富的组件用于开发;有 MTV 框架;使用 xxx 命令启动开发服务器
但 Django 框架并非只有这么些内容,更多具体的知识,需要你主动去钻研学习
愿诸君顺遂