Django简介
django是一个开放源代码的Python web应用框架。采用MTV模式,即模型M,模板T和视图V。他最初是被开发用于管理劳伦斯出版社集团下的一些以新闻内容为主的网站,即:CMS(内容管理系统)软甲。并于2005年七月在BSD许可证下发布,并于2008年九月发布了第一个正式版本1.0。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
MVC和MTV
MVC并不是一种技术,而是一种开发模式,一种软件的设计典范。将一套业务分到不同的层次来处理,这样降低了代码的耦合度,并提高了代码的可重用性。
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
Django其实就是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),所以就称为 MTV模式。MTV模式不过就是MVC模式的一种衍生体。
对于模型、视图、模板我会在以后的文章中做详细介绍,本篇文章的主要目的是认识了解Django,并搭建起Django的开发环境。
Django安装
在安装django之前,请确保已经安装了Python,但是更要注意的是一定要明确使用的django的版本和Python的版本是否兼容,因为Python2在2020年1月就已经不在支持,所以建议学习与使用Python3,使用Django-1.11.x长期支持版本。
# 使用如下的命令对django的指定版本安装,如果我们想安装最新版只需要执行pip install django命令即可。
PS C:\Users\admin> pip install django==1.11.11
...
# 当我们安装完毕之后,我们在控制台输入python命令进入到Python控制台
PS C:\Users\admin> python
# 在python的交互界面下引入django模块,并获取版本信息,如果以下两个命令能够正确执行,则表示我们的django安装成功了
>>> import django
>>> django.get_version()
使用Django构建web工程
使用框架最重要的一点就是构建工程,把整体框架搭建完成之后,明确了开发流程,其实写代码都是一些简单的工作。好了,过多的废话不说,我们捞干的来。
创建工程
创建一个我们的工程,这个工程就是存储我们以后所有的代码的地方,一定要挑一个好地方放哦。
我就将他放到D盘的根目录下吧。在windows的控制台下执行以下的命令,当执行命令后什么状态都没有的时候,你应该庆幸,你是对的,你的工程已经成功的创建了。你会在D盘下找到刚刚创建的工程的目录。
PS C:\Users\admin> D:
PS D:\> django-admin startproject djangoProject
PS D:\>
你可以进入到工程的目录下执行Tree . /F命令,来查看这个目录的结构:
PS D:\> cd djangoProject
PS D:\djangoProject> Tree . /F
文件夹 PATH 列表
卷序列号为 00000029 EC57:1624
D:\DJANGOPROJECT
│ manage.py
│
└─djangoProject
settings.py
urls.py
wsgi.py
__init__.py
PS D:\djangoProject>
此时所创建的所有文件都是这个工程的配置文件,比如说,注册一个app,添加静态资源,配置数据库信息等等。
创建应用
那么,问题来了,我们在哪里写我们的代码啊?我告诉你,在每一个应用中。那应用又在哪里呢?我告诉你,自己创建去。那怎么创建呢?来吧,看代码:
执行以下的创建APP的代码时,我们一定要进入到我们创建的工程目录下。
PS D:\djangoProject> python manage.py startapp firstApp
PS D:\djangoProject>
shell就是这个特点,成功了,不会给你任何提示,就是这样偷偷的帅着。就这样,我们就帅帅的将名为firstApp的应用创建出来了。此时工程的目录结构是这样的:
PS D:\djangoProject> Tree . /F
文件夹 PATH 列表
卷序列号为 00000029 EC57:1624
D:\DJANGOPROJECT
│ manage.py
│
├─djangoProject
│ │ settings.py
│ │ urls.py
│ │ wsgi.py
│ │ __init__.py
│ │
│ └─__pycache__
│ settings.cpython-36.pyc
│ __init__.cpython-36.pyc
│
└─firstApp
│ admin.py
│ apps.py
│ models.py
│ tests.py
│ views.py
│ __init__.py
│
└─migrations
__init__.py
此时,你还别高兴的太早,因为现在只是像应用的样子,还并不是一个真正的应用,我们需要在工程的配置文件(settings.py)中把这个应用注册进去。在INSTALLED_APPS配置中把我们的应用的名称添加进去,这样就完美了。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'firstApp',
]
配置数据库
对于一个站点来说,后台数据库的支撑那是至关重要的,没有数据库的数据,我们拿什么去渲染前台的数据。所以,配置数据库是一个