至于我为什么还是要学后端django开发,爬虫是真的脑壳疼, 你要学的东西实在是太多了,真的多,而且乱, 真不很推荐人去学这个, 入门简单, 入天有点难, 数据分析和后端开发二者,我还是扩展了django后端开发,兴趣吧,自己琢磨了2个多月了,也是要写点文章记录一下经验了。
本专栏介绍了我是怎么从Django入门到
放弃
, 基本的有,复杂的也有,项目我会自己花钱去上培训班分享给大家。一起学习吧! 这是我第一次出系列教程,不足之处,请多多指教, 一名大三备考研党!
Django介绍:
Django 是使用 Python 语言开发的一款免费而且开源的 Web 应用框架。由于 Python 语言的跨平台性,所以 Django 同样支持 Windows、Linux 和 Mac 系统。
Django 的诞生是为了减少重复性工作,节省开发者时间,可以让开发者把有限的精力投入到关键的开发环节中。
Django是流行的Python Web框架之一。
Django特点:
- 完善的文档:经过 10 余年的发展和完善,Django 官方提供了完善的在线文档,为开发者解决问题提供支持。
- 集成 ORM 组件:Django 的 Model 层自带数据库 ORM 组件,为操作不同类型的数据库提供了统一的方式。
- URL 映射技术:Django 使用正则表达式管理URL映射,因此给开发者带来了极高的灵活性。
- 后台管理系统:开发者只需通过简单的几行配置和代码就可以实现完整的后台数据管理Web控制台。
- 错误信息提示:在开发调试过程中如果出现运行异常,Django 可以提供非常完整的错误信息帮助开发者定位问题。
Django MTV设计模式:
不同于其他的web设计模式而言, Django独特的MTV设计模型更精简。
MTV对应的三个字段分别为:
- Model:数据存储层,处理所有数据相关的业务,和数据库进行交互,并提供数据的增删改查;
- Template:模板层(也叫表现层)具体来处理页面的显示; (里面存放者一些html页面)
- View:业务逻辑层,处理具体的业务逻辑,它的作用是连通Model 层和 Template 。
MTV对应的工作流程:
- 用户通过浏览器对服务器发起 request 请求,服务器接收请求后,通过 View 的业务逻辑层进行分析,同时向 Model 层和 Template 层发送指令;
- Modle 层与数据库进行交互,将数据返回给 View 层;
- Template 层接收到指令后,调用相应的模板,并返回给 View 层;
- View 层接收到模板与数据后,首先对模板进行渲染(即将相应的数据赋值给模板),然后组织成响应格式返回给浏览器,浏览器进行解析后并最终呈现给用户。
对于MTV设计模式来说,我们更需要的是在乎M(model), T(template), V(view) 这三层的逻辑关系。
Django ORM模块简介:
Web开发必不可少的是对于数据库的管理, 但是现在存在的大量的数据库, 对于程序员操作来说,显然不是一件容易的事情, Django存在的ORM模块可以很好的帮助我们解决这个事情。
ORM(object realtional mapping) 为 对象关系映射, 是基于关系型数据库的一种开发模式, ORM直接允许我们使用类和对象来操作数据库,这非常的nice!
由于Django本身是携带了一个小型的sqlite3 数据库, 后面我们也会讲到如何配置mysql数据库。
图为ORM字段的对应映射关系, 简单来讲,我们可以使用类和对象操作数据库, 而Django把这些定义为 Model
也就是MTV设计模式中的M,
Model需要继承 django.db.models
中的Model类
对于数据库来说 , 字段是少不了的, 而django的ORM模块也是提供了一些字段类型给我们使用, 常见的如下,关于ORM模块后续还会涉及到, 这里只是简单介绍一下。
字段 | 说明 | 字段属性 |
---|---|---|
AutoFiled | 默然自增主键(Primary_key=Ture),Django 默认建立id字段为主键。 | |
CharFiled | 字符类型 | Max_length=32,字符长度需要明确 |
IntgerFiled | 整型 int | |
DateFiled | 年月日时间类型 | auto_now=True,数据被更新就会更新时间 ;auto_now_add=True,数据第一次参数时产生。 |
DateTimeFiled | 年月日小时分钟秒时间类型 | auto_now=True,数据被更新就会更新时间; auto_now_add=True,数据第一次参数时产生。 |
DecimalFiled | 混合精度的小数类型 | max_digits=3,限定数字的最大位数(包含小数位);decimal_places=2,限制小数的最大位数。 |
BooleanFiled | 布尔字段,对应数据库 tinyint 类型数据长度只有1位。 | 值为True或False |
TextFiled | 用于大文本 |
- 在数据库中, 定义好了字段就可以创建数据表, 那么在Django中,又是如何使用ORM来创建数据表呢?
上文我们讲到了, 所有数据库都是需要继承 django.db.models
中的Model类型, 所以这里我们需要导入这个类.
# 使用ORM简单的创建一张数据表
from django.db import models
class USERINFO(models.Model):
# 这里我们定义2个简单的字段
name = models.CharFiled(max_length = 10) # 定义字符型 最大长度 100
age = models.IntgerFiled(max_length = 5) # 定义整数型 最大长度 5
# 那怎么插入数据呢?
# 方法1: 不需要保存
USERINFO.objects.create(name='my', age=20)
# 方法2: 需要保存
obj = USERINFO(name='my', age=20)
obj.save()
这里也是简单的玩一玩ORM, 大概的了解Django的一些基本情况。
安装和配置:
对于django的安装来说,不是很复杂。
- 首先你需要 python 编译环境 官网的IDLE 。
- 你需要 python 的编译器 , 推荐 pycharm2020。
- 你需要数据库mysql 或者其他数据库, 这里推荐mysql, 安装介绍链接: https://www.cnblogs.com/laumians-notes/p/9069498.html#undefined
- 配置环境变量 把python.exe 和 mysql 都设置环境变量
- 安装django
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
- 配置django环境变量 (可选)
安装成功
完成如上操作, 那么就安装好了django了.
后面我们讲到如何创建你的第一个django项目。不要走开,2天一篇, 感兴趣的关注一下我吧。