Django框架入门

Django框架入门

一、Django简介

1、概述
# 1. Django是什么,有什么作用
Django是一个开放源代码的重量级Web应用框架,由Python语言编写而成(大牛,第三方开源作者),用于进行Web后端程序的开发。

django

# 2. Web前端+数据库+Web后端关系
参考:《前端+数据库+后端关系.png》
比如:淘宝的登录页面,用户在登录页面,输入了用户名和密码,点击登录(form表单提交),向淘宝的服务器发起了一个登录请求,前端需要将用户名和密码传递给服务器,服务器来接收用户名和密码,连接数据库,查询数据库,然后将查询结果返回给前端页面。 这里的服务器实际上就是一个运行后端程序的电脑。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IECzR3rT-1644897251360)(Django01_框架入门.assets/image-20211104140419677.png)]

2、学习目标
快速构造简易但完整的Web项目,认识MTV结构,熟悉Django基本开发流程

二、Django的环境搭建

1、安装Django
django是由开源作者编写的第三方模块 类似之前所用MySQLClient 
# 安装方式: windows
1. pip install Django==3.0.6 联网自动下载并安装  -- 推荐使用该方式
2. pip install xxx.whl  下载一个.whl文件 
3. 下载源码的压缩包 tar包 解压进入解压目录,执行 python setup.py install 安装即可

# mac 推荐:pyenv安装python
	pyenv install 3.7.6

# 检查是否安装成功
1. pip list
2. 终端输入python	import django 	django.VERSION  django.get_version()
2、虚拟环境搭建
# 假如:运行多个项目,而且django版本要求不一样
1. 项目一需要django2.0.6  pip install django==2.0.6
2. 项目二需要django1.8   pip install django==1.8 
后安装的版本会覆盖掉前一个版本,需要来回安装切换版本,特殊麻烦

此时,就希望在电脑安装多套运行环境,来运行不同的项目
解决方案:虚拟环境,一个独立于本地环境(C盘里的Python环境),用一个虚拟环境来运行一个项目

# 假如:运行多个项目,但需要用到的django版本是一样的,需不需要建多个虚拟环境
一个项目中的第三方模块,不仅仅有django,还会有其它的第三方模块,每个项目需要用到的第三方模块都可能不一样

总结:无论项目用到的django版本是否一致,都应该给每一个项目新建一个独立的虚拟环境

虚拟环境工具:

1. 安装virtualenv  
pip install virtualenv  

2. 创建虚拟环境 
进入某个目录(文件夹上方输入cmd--直达位置)  virtualenv 虚拟环境的名字  

3. 激活虚拟环境 
	进入虚拟环境的Scripts目录下 执行 activate 指令
	激活后可以在虚拟环境中安装对应的依赖  此时只是安装到了虚拟环境中  而本机计算机中并未安装

4. 安装django等第三方包
	pip install django==3.0.6

5. 查看是否安装成功
	pip list
	
6. 退出虚拟环境  在虚拟环境的Scripts目录下执行
	deactivate.bat  即可退出

三、创建django项目

1. 打开Pycharm,选择菜单项目中的 File -> New Project -> Django 
2. 修改项目名,并选择虚拟环境的解释器即可

# 讲解每个文件的作用,以及如何启动项目  启动单个文件与项目的区别

# view文件中编写视图函数,然后为函数指定对应的路由
项目创建 与目录介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KSBzTKwK-1644897251361)(Django01_框架入门.assets/image-20211104141436669.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gJSymB2Z-1644897251362)(Django01_框架入门.assets/image-20211104142536475.png)]

项目启动方式
1. 使用命令启动
	python manage.py runserver
请求与响应流程:
1. 用户在浏览器中,输入url  http://127.0.0.1:8000/hello/ 回车,实际是向服务器发起了一个请求
2. 服务器程序(django程序)会接收到请求,在urls.py文件中,匹配路径,找到对应的视图函数
  path('hello/',views.hello), 
3. 视图函数接收到请求后,返回响应 return HttpResponse("响应的内容") 再回到前端页面

# brower ->发起请求-> server ->接收请求并返回响应-> browser

四、MVC模式

MVC全程Model View Controller, Model指的是业务模型,View指的是用户视图,Controller指的是控制器,是一种软件设计的典范,是一种将业务逻辑、数据、界面显示进行分离方式

django的MTV

本质上就是MVC模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jgxl5EsC-1644897251362)(Django01_框架入门.assets/image-20211104145703161.png)]

1. M: model 模型 与数据库交互 提供数据            -- Model
2. T:template 模板 html文件 展示界面             -- View
3. V:views 视图 处理业务逻辑                     -- Controller

MTV模式的作用:将数据、业务逻辑和界面分离,解耦合
请求执行流程
1. 用户在前端浏览器输入url地址,然后回车其实是向服务器发送了一个请求
2. 该请求会根据协议、ip、端口号找到对应服务器,通过服务器上的程序接收到该请求,django开始处理请求,根据根据匹配到项目中对应的路由地址
3. 根据url地址匹配到对应的视图函数,视图函数开始处理请求,返回处理后的结果   return HttpResponse("字符串")
4. 用户接收到请求返回的响应

五、Django创建app

1. 一个项目往往会分为很多个模块,比如电商项目:用户模块、商家模块、管理模块、订单模块等
2. 在django中使用app来管理每一个模块,一个app就是一个功能模块的集合
3. 将一个模块划分成多个app是一个解耦的过程,整个项目结构松散,利于管理
  • 创建app:

在pycharm中打开终端,

python manage.py startapp app名字(模块的名字)

  • 在项目主应用根路由下进行路由转发
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    # 路由转发:将请求转发到某个匹配到子路由中
    path("home/", include("home.urls")),
]
  • 在子应用下新建urls.py,进行路由配置
from django.urls import path

from home import views

urlpatterns = [
    path("home/", views.home),	# 定义路由与视图的映射
]

六、虚拟环境管理工具

虚拟环境管理工具virtualenvwrapper来解决virtualenv的一些不方便之处:
virtualenv的不方便之处:
1. 创建虚拟环境时,需要自己找目录
2. 创建好虚拟环境后,还需要自己去激活虚拟环境 

因此引入virtualenvwrapper来解决上述问题:
1. 安装管理工具
	pip install virtualenvwrapper-win
2. 配置环境变量
	目的:用来指定虚拟环境的存储路径
	WORKON_HOME=路径  -- 不要有中文
3. 创建虚拟环境
	在任意的目录下执行指令 mkvirtualenv 虚拟环境名字
	此时创建出来的虚拟环境就自动存储在WORKON_HOME所指定的目录下
	
4. 下次重新激活虚拟环境
	workon 虚拟环境的名字即可
	
5. 退出虚拟环境 不需要进入scripts
    deactivate

总结:

1. django是什么?
	Django是一款由Python开发的重量级的web开源框架,便于我们快速构建web服务
	
2. 安装django
	a.在虚拟环境中安装django
		pip install virtualenv
	b.在某目录下创建虚拟环境
		virtualenv 虚拟环境的名
	c.如果要在虚拟环境中安装依赖需要激活虚拟环境
		切换到对应虚拟环境的目录中的Scripts目录中  activated
		pip instll xxx  此时依赖只会安装在当前虚拟环境中
	d.退出虚拟环境
		虚拟环境的目录中的Scripts目录中  deactivated.bat
	e.虚拟环境不使用时可以直接删除
	
3. django项目的创建
	a. 使用pycharm创建django项目
		1. File -> New Project -> Django 
		2. 配置项目所在位置
		3. 项目的解释器
			可以创建新的解释器  如果该解释器中没有django 默认会自动安装
			可以选择已存在的解释器
		4. create即可
	b. 开发django项目
		django是典型的MTV架构  M:model 代表数据模型  V: View 视图函数 控制器  T: Temapltes 用户页面  html
		0. 修改setting.py文件第57行  改成下面的内容即可
			'DIRS': [os.path.join(BASE_DIR, 'templates')]
		1. 创建子应用 app 将相关功能模块放在一个应用中
			在项目的根目录下执行:python  manage.py startapp app名
			将创建好的app挂载到settings的INSTALL_APPS = [] 中
		2. 定义views  编写自己的视图函数
			def index(request):
				return HttpResponse("xxx")  向前端返回一个字符串
				return render(request, "模板名称")  向前端返回一个html页面
		3. 为视图定义路由映射
			在子应用下定义urls.py文件,在其中定义url与视图的映射
				urlpatterns = [
					path("url地址", views.xxxx)
				]
			需要将子应用的urls文件加载到主应用的urls.py文件中
				urlpatterns = [
					path("url地址/", include("app名.urls"))
				]
		4. 启动项目,访问该视图函数
			http://ip:端口号/主应用地址/子应用地址/
			http://127.0.0.1:8000/user/index/
  • 开发局域网访问
# 需要将settings中的ALLOW_HOST = ["*"]
改了以后允许所有的用户都可以访问此django
然后--------
找到右上角editconfiguration,
# python manage.py runserver 当前主机的真实ip:端口号
# python manage.py runserver 0.0.0.0:端口号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值