Django框架
一、Django简介
1、概述
Django是一个开放源代码-免费-的Web应用框架,由Python写成,用于开发后台程序(服务器程序、后端程序)。 在众多的Python Web框架中Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django
框架: 程序员自己通过代码写的一个半成品软件,提供很多api,做二次开发
2、入门目标
快速构建简易但完整的web项目,认识MTV结构,熟悉django开发流程。
二、Django环境搭建
1、安装Django
pip install django==2.0.6
检查是否安装成功
cmd下进入python环境 :
1 | import django |
三、创建Django项目
1、命令行创建项目(跳过)
安装 Django 之后,在虚拟环境的Scripts目录下已经有了可用的管理工具 django-admin.py/django-admin.exe。我们可以使用 django-admin 来创建一个项目:
- 使用 django-admin 来创建 HelloWorld 项目:
1 | django-admin startproject HelloWorld |
- 进入HelloWorld目录,输入以下命令,启动服务器:
1 | python manage.py runserver |
- 在浏览器输入你服务器的ip及端口号
2、Pycharm创建项目
- 打开Pycharm,选择菜单项【File】->【New Project】->【Django】->【Location】->【Existing interprter】
3、项目目录结构
1 | |-- helloworld |
目录说明:
- helloworld: 项目的容器。
- manage.py:是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行。
- helloworld
- _ init _.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- settings.py: 该 Django 项目的设置/配置。
- urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”目录”。
- wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
4、视图和URL配置
4.1 创建视图
在helloworld/helloworld目录下创建一个views.py文件,并加入以下代码:
1 | from django.http import HttpResponse |
4.2 绑定url
打开urls.py文件,并做如下修改:
1 | from helloworld import views #引入views模块 |
我们使用 django.http.HttpResponse() 来输出”Hello World!”。该方式将HTML代码与Python代码混合在一起,不符合MVC思想。
4.3 MVC模式
MVC 全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码。
M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

四、模板templates
模板用于分离文档的表现形式和内容。
1、创建templates目录
在helloworld根目录下创建一个templates目录。
2、创建html文件
打开templates目录,并创建一个hello.html文件。
3、添加html内容
在html文件中可以添加如下内容:
1 | <h1>hello</h1> |
4、修改settings.py
接下来我们需要向Django说明模板文件的路径,修改helloworld/settings.py,修改 TEMPLATES 中的 DIRS 为 'DIRS': [os.path.join(BASE_DIR, 'templates')]
,如下所示:
5、修改views.py
1 | from django.shortcuts import render |
五、创建APP
项目的开发过程中,会有模块化开发,如电商系统中的用户模块,订单模块,OA系统中的财务模块,人力模块等。每个模块都是project的一个APP,APP内是相关模块的功能集合,包含所有相关的功能及完整的实现。将一个project划分为多个APP是一个解耦的过程,整个项目结构松散,利于维护。 一个app对应一个功能模块
- 在Pycharm的左下角的terminal中,执行如下命令(terminal中自动激活了当前项目所使用的虚拟环境):
1 | python manage.py startapp firstapp |
- App目录结构如下:
1 | helloworld |
- 添加app到settings.py中的INSTALL_APPS中(跳过):
1 | INSTALLED_APPS = [ |
- 在views.py文件中加入如下代码:
1 | from django.shortcuts import render |
- 修改urls.py
1 | from django.contrib import admin |
六、虚拟环境管理工具
1、虚拟环境搭建
在开发Python应用程序的时候,系统安装了Python3的一个版本:3.5。所有第三方的包都会被pip安装到Python3的site-packages目录下。
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要依赖jinja 2.7,而应用B需要依赖jinja 2.6怎么办?
这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
虚拟环境–在当前主机上的,一个独立于本地环境的一个python运行环境
- 安装virtualenv
1 | pip install virtualenv |
- 创建虚拟环境
cmd下进入某个目录,执行:
1 | virtualenv TestDemo # 虚拟环境的名字 |
- 激活虚拟环境
进入TestDemo下的Scripts目录,打开cmd执行
1 | activate |
- 安装依赖库
1 | # pip install "pillow > 4.3" |
- 关闭虚拟环境
1 | deactivate |
注意:Python3自带了虚拟环境工具pyvenv,类库中增加了一个venv模块:
1 | python -m venv TestDemo |
2、虚拟环境管理工具
- virtualenvwrapper 是一个基于virtualenv之上的工具,它将所有的虚拟环境统一管理。
1 | pip install virtualenv # 安装virtualenv包 |
总结:
1 | # 创建Django项目的完整流程: |