-
认识Django
-
熟悉搭建与使用虚拟环境
-
熟悉Django项目的结构
-
了解Django项目与应用的区别
-
掌握在项目中创建与注册应用
-
熟悉Django架构,掌握MTV各部分的功能
1.1使用框架开发的好处框架是可被应用开发者定制的应用骨架 ,是某种应用的半成品
- 开发周期短
- 维护成本低
- 软件产生效率低和质量也得到了提高
2.1Django框架的优点Django是使用Python语言编写的一个开源Web应用框架,鼓励快速开发,是当前最为流行的python Web开发框架
- 齐全的功能
- 灵活的URL映射
- 完整的错误信息提示
- 完善的文档
- 丰富的模板语言
- 强大的缓存框架
- 强大的数据库访问组件
- 健全的后台管理系统
- 国际化
对比python其他web框架,比如flflask,Tornado 而言,Django原生提供了众多的功能组件,让开发更简便快速。
- 提供项目工程管理的自动化脚本工具
- 数据库ORM支持(对象关系映射,英语:Object Relational Relational ) object Relational Relational
- 对象(Python) 关系(mysql) 映射
- 模板
- 表单
- Admin管理站点
- 文件管理
- 认证权限
- session机制
- 缓存
有一种程序设计模式叫MVC,其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性。
MVC的全拼为Model-View-Controller,为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。随着标准输入输出设备的出现,开 发人员只需要将精力集中在业务逻辑的分析与实现上。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多开发者欢迎。现在虽然不再使用原来的分工方式,但是这种分工的思想被沿用下来,广泛应用于软件工程中,是一种典型并且应用广泛的软件架构模式。后来,MVC的思想被应用在了Web开发方面,被称为Web MVC框架。
MVC模式说明
- M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
- V全拼为View,用于封装结果,生成页面展示的html内容。
- C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
Django的MVT
- M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
二、安装Django 1.在物理环境安装Django项目启动后,用户通过浏览器向Web服务器发起请求,Web服务器将请求传递到要处理该请求的Django项目,Django接收用户通过浏览器发起的请求,urls.py文件根据URL地址分发路由,将请求交 给views.py中相应的视图;视图处理请求(此时涉及数据存取),并将处理结果与模板结合生成响应数 据返回给Web服务器,服务器将数据返回到浏览器,最终呈现给用户。具体如下图所示
pip介绍
Python官方的PyPi仓库为我们提供了一个统一的代码托管仓库,所有的第三方库,甚至你自己写的开源模块,都 可以发布到这里,让全世界的人分享下载 pip 是最有名的Python 包管理工具 。提供了对Python 包的查找、下载、安装、卸载的功能 安装Python解析器时python,默认已经安装了pip工具
- pip list :查看当前安装的python包
- pip install packagename :安装包
使用pip安装Django
- 安装Django
-
pip install django==2.2.8
-
验证物理环境安装是否成功
-
windows中安装虚拟python环境
- 打开控制台窗口,使用pip工具可以在线安装virtualenv,具体命令如下:
pip install virtualenv
- virtualenv安装完成之后,使用命令创建虚拟环境
virtualenv first_env(虚拟环境名称)
- 执行虚拟环境目录中script下的activate文件可启用虚拟环境.deactivate文件可退出虚拟环境,具体命令如下:
C:Usersadmin>.first_envScriptsactivate C:Usersadmin>.first_envScriptsdeactivate(deactivate退出虚拟环境)
- 若以上命令执行成功,命令行的路径名会出现之前’(虚拟环境名)’
(first_env) C:Usersadmin>
- 输入python,检验安装是否成功
用户可通过虚拟环境管理工具virtualenvwrapper简化虚拟环境的创建和管理,在Windows系统中安装
该工具,具体命令如下:pip install virtualenvwrapper-win安装完成后,用户可分别使用以下命令创建和管理虚拟环境
说明 命令
-
创建虚拟环境 mkvirtualenv env
-
启用虚拟环境 workon env
-
退出虚拟环境 deactivate
-
删除虚拟环境 rmvirtualenv env
-
查看虚拟环境列表 lsvirtualenv/workon
-
进入当前虚拟环境所在目录 cd virtualenv
1.新建Django项目创建项目工程创建应用
理解工程目录结构定义视图与路由
1.1创建项目使用Django提供的命令,可以创建一个Django项目实例需要的配置项–包括数据库配置,Django配置和应用程序配置的集合.新建Django项目命令的语法格式:
创建项目工程命令:
django-admin startproject (工程名称)
例如:想要在D:的python目录中创建名为mysite的项目工程,可执行以下命令:
workon first_env cd D:pythonproject django-admin startproject mysite
1.2项目目录说明执行后,会多出一个新目录名为mysite.此即为新创建的工程目录.
查看创建的项目目录,结构如下:
- mysite : 根目录,项目的容器
- manage.py:一个提供Django项目管理功能的命令行工具
- 子mysite:一个纯Python包,其中存放项目文件,在引用项目文件时会使用到这个包名。
- mysitesettings.py 是项目的整体配置文件
- mysiteurls.py 是项目的URL配置文件。
- mysitewsgi.py 是项目与WSGI兼容的Web服务器入口
在开发阶段,为了能够快速预览到开发的效果,Django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用.
运行服务器命令如下:
python manage.py runserver
在浏览器中输入网址"127.0.0.1:8000"便可看到效果
2.创建项目django默认工作在调式Debug模式下,如果增加、修改、删除文件,服务器会自动重启。按ctrl+c停止服务器。
默认情况下开发服务器在本地IP的8000端口上启动,若要更改端口,可将端口作为命令行参数传递。例如在端口8080上启动服务器,命令如下所示:
- python manage.py runserver 8080
2.1创建应用在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。
在Django中, 把这一个个子功能模块成为应用,一个Django项目可以包含多个Django应用,每个应用可在多个项目中被重复利用
在django中,创建应用模块目录可以通过命令来操作,即:
python manage.py startapp 应用名称
2.2应用目录说明manage.py 为上述创建工程时自动生成的管理文件。
例如,在刚才创建的mysite工程中,想要创建一个用户users应用模块,可执行
python manage.py startapp users
执行后,可以看到工程目录中多出了一个名为blogs的子目录。
2.3注册应用查看此时的工程目录
admin.py 文件: 跟网站的后台管理站点配置相关。
apps.py 文件:用于配置当前应用的相关信息。
migrations 目录:用于存放数据库迁移历史文件。
models.py 文件: 用户保存数据库模型类。 m : model v: view T:Template
tests.py 文件: 用于开发测试用例,编写单元测试。
views.py 文件: 编写视图函数,MVT模型中的V。
db.sqlite3 : 轻量级关系型数据库,django默认使用sqlite数据库
创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该应用,需要注册安装后才能使用。
在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中
-
已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:
-
提示:在pycharm中打开Django项目
-
找到项目的根目录,打开Django项目
-
设置项目的python解析器(虚拟环境)
3.1创建视图Django的视图是定义在应用的views.py中.
打开刚创建的users模块,在views.py中编写视图代码.
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
# 视图文件:处理业务逻辑
# 视图函数接受一个request:请求对象
def index(request):
# HttpResponse构建响应对象
return HttpResponse('hello world')
3.2定义路由URL说明:
视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对
象,通常名为request。视图函数的返回值必须为一个响应对象,可将要返回的字符串数据放到一个HTTPResponse对象
中。
为了保证服务器能成功找到用户请求的页面,需为应用配置路由。在应用users中创建子路由文件urls.py,分别配置根路由和子路由,配置信息分别如下:
1)在应用中创建一个urls.py文件用于保存该应用的路由
2)在users/urls.py文件中定义子路由信息.
from django.urls import path
from users import views
urlpatterns = [
path('index/', views.index),
]
3)在项目工程总路由mysite/urls.py中添加users应用的路由信息.
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('users.urls')),
]
3.3启动运行
使用include来将子应用users里的全部路由包含进项目路由中;
'users/'决定了users应用的所有路由都已/users/开头,如我们刚定义的视图index,其最终的完整访问路为/users/index/。
1.命令方式启动Django项目
python manage.py runserver
2.pycharm中直接运行项目
3.运行效果
在浏览器输入网址127.0.0.0:8000/users/index/可看到返回信息



