django Web 开发简介
Python Django 网站开发培训 - 2周入门 web后端开发 web服务端开发
django 简介|菜鸟教程
1、Django 简介:
Django 简介:来源django 简介|菜鸟教程
<1> 基本介绍
Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。
使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。
MVC 优势:
- 低耦合
- 开发快捷
- 部署方便
- 可重用性高
- 维护成本低
…
Python 加 Django 是快速开发、设计、部署网站的最佳组合。
特点
- 强大的数据库功能
- 自带强大的后台功能
- 优雅的网址
<2>MVC 与 MTV模型
【1】MVC 模型
MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC 以一种插件式的、松耦合的方式连接在一起。
模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
视图(V)- 图形界面,负责与用户的交互(页面)。
控制器(C)- 负责转发请求,对请求进行处理。
- M : 模型 与数据库交互
- T:模版 一个放数据的架子
- V: 视图
简易图:
用户操作流程图:
【2】MTV 模型
Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:
M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
- T 表示模板 (Template):负责如何把页面(html)展示给用户。
- V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。
除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template,MTV 的响应模式如下所示:
简易图:
用户操作流程图:
解析:
用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数:
a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户。
b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回。
视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。
2、django的安装和运行
<1> 安装
pip install django
<2> 创建项目
django-admin startproject myDjango
myDjango
是可以自定义的项目名
项目配置目录和项目本身目录同名,比较怪异,可以这样创建目录,结构更合理一些:
# 执行命令创建项目目录,并且进入到项目目录
mkdir myDjango && cd myDjango
# 然后执行命令 创建manage.py 和 项目配置目录 名为 config
django-admin startproject config .
目录说明:
- config: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
config/__init__.py
: 一个空文件,告诉 Python 该目录是一个 Python 包。config/asgi.py
: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
-config/settings.py
: 该 Django 项目的设置/配置。config/urls.py
: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。config/wsgi.py
: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
<3> 启动服务器
python manage.py runserver 0.0.0.0:80
0.0.0.0
代表一切均可以访问
80
是可以自定义端口号
<4> 放行ip
虽说0.0.0.0
代表一切均可以访问,但外网ip还需配置 放行ip
localhost
同理
实战开发:
3、url路由
<1>创建项目的Application
Django 中的一个Application就是项目里面的一个应用的意思。
一个项目包含多个Application。
一个Application 通常就是一个相对独立的模块 ,实现相对独立的功能。
比如,我们可以把 这个系统的 管理员管理的功能 做在一个名字为 mgr的Application里面,把 销售人员的操作 实现在另外一个名字为 sales的Application里面。
一个Application 本质上 就是一个 Python 包, 里面包含了一些应用相关的代码文件。
当然,一个项目分成多少个Application 这完全取决你的设计。 你把所有的功能都放入一个大Application内也可以实现功能,只是这样做,这个Application特别的臃肿。
Application 缩写为 app
Django 中创建app 可以 通过执行命令,创建一个app目录,并在里面自动创建app常用的文件。
比如,现在我们需要一个app 专门处理 白月医药系统中销售员的 添加、修改、查询、删除请求。
我们就进入项目根目录,执行下面的命令。
python manage.py startapp sales
<2>配置url
url路由设置的入口文件:
在 urlpatterns 列表变量中添加一条路由信息,结果如下:
from django.contrib import admin
from django.urls import path
from sales.views import listorders
urlpatterns = [
path('admin/', admin.site.urls),
# 添加如下的路由记录
path('sales/orders/', listorders),
]