Django 是 Python 的 一款 Web 开发框架,另外还有 Tornado,Flask,Twisted。为什么我要选择学 Django?原因很简单,上家公司来了个网易的测开,就是用 Django 开发的测试平台。
这位测开没多久就离职去腾讯了,我啥也没学到,看了他的代码,很多是写的 Vue 代码,哭啊。
Django 诞生于 2003 年的秋天,由 Lawrence Journal-World 报纸的程序员 Adrian Holovaty 和 Simon Willison 编写而成。新闻编辑室的开发节奏是非常快的,正因如此,Django 相比于其他框架的特点就是短、平、快。这也符合 Python 的风格。时至今日,Django 已经发展到了 3.1.3 版本。本系列将基于这一版本的官方文档,边学习边实践,整理成文,分享给大家。
Django 系列不是教程,而是学习笔记、心得体会、踩坑记录,内容编排上可能会有点乱。需要看教程请阅读官方文档,水平有限,实在抱歉。
Django 遵循 MVC 架构模式,所以接下来就看看如何使用 Django 完成 Web 开发。特别注意,本文的内容不具有实操性,看看即可。
定义 model
model 是数据模型,定义了数据库的表和字段。
例如:
from django.db import models
class Reporter(models.Model):
full_name = models.CharField(max_length=70)
def __str__(self):
return self.full_name
class Article(models.Model):
pub_date = models.DateField()
headline = models.CharField(max_length=200)
content = models.TextField()
reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)
def __str__(self):
return self.headline
通过类和属性,分别定义了 2 张表 Reporter 和 Article,以及它们的字段(Reporter 1 个字段,Article 4 个字段)。
这其实就是 ORM,即 Object Relational Mapping,对象关系映射,把程序代码中的对象映射到关系型数据库中,不用写 SQL,就可以直接操作数据了。ORM 实现了数据持久化。我们都知道程序是运行在内存中的,跑完就没