二、Django需要的知识点

1、请求(request): 客户端到服务器端。 

响应(response):服务器端到客户端。 

HTTP/1.1 协议共定义了 8 种请求方式,分别是: OPTIONS、 HEAD、 GET、 POST、 PUT、 DELETE、 TRACE 和 CONNECT.

GET:向指定的服务器发出请求,主要用于读取信息并显示。 

POST:向指定服务器提交数据,请求服务器进行处理(例如提交表单或者上传文件)。

http默认80端口,https默认443。

2、路径:以“/”区别目录。对于 GET 请求方式,还可以用“?”发起参数,每个参数以 “&”隔开,再以“=”分开参数名称与值。 

3、Python 本身有读取数据库的模块 ,所以可以通过 SQL 语句直接实现程序和数据库的交互。 Django 用另外一种方式解决了这个问题, 在这种方式中不需要开发者使用 SQL 语句,而是使用更 Python 化的方式实现对数据库的操作, 这就是 ORM,即 Object-Relational Mapping (对象关系映射)。

ORM 的作用是在关系型数据库和业务实体对象之间进行映射,这样在操作业务对象时,就 不需要再去和复杂的 SQL 语句打交道,只需简单地操作对象的属性和方法。

        (1)可移植性强。 ORM 通常具有很好的可移植性,本书中使用 SQLite 数据库,如果想改为 MySQL 数据库,只需要在 settings.py 文件中做好新数据库的配置,然后进行迁移数据的操作(python manage.py makemigrations, python manage.py migrate)就能够创建相应的数据库表,不需要对 ORM 进行任何修改。 

        (2)安全性好。 使用 ORM 后很少或者不需要执行 SQL,所以这时就不必担心诸如 SQL 注入等形式的攻击了,更何况 ORM 还提供了一个 自动引用和转义输入变量的机制, 开发者不用在安全性的问题上花费太多时间,可以将精力集中在程序的业务逻辑和 开发上。 

        (3)查询语法简单。面对较为复杂的查询,如果使用 SQL 语句,常常要写很多:而使用 ORM, 因为它本质上就是 Python 对象,能够让本来复杂的 SQL 语句变得简洁,所以能够实现 更多的技巧。

Django 的 ORM 表现方式就是编写数据模型类,这些类可以写到任何文件中,通常写在每 个应用的 models.py 文件中。 

每个数据模型类都是 django.db.models.Model 的子类。应用的名称 (小写字母)和数据模型类的名称(小写字母)共同组成一个数据库表的名称(“appname”_“model name”,例如 blog_blogarticles)。

当数据模型类写好之后,通过执行 Django 的数据迁移操作(python manage.py makemigrations, python manage.py migrate)就能够创建相应的数据库表,用来保存网站项目的数据。 

以后如果要修改数据库表的结构, 只需要修改数据模型类,迁移数据(python manage.py makemigrations, python manage.py migrate)就能够实现数据库结构的调整。

猜你喜欢

转载自www.cnblogs.com/tuobei/p/9902699.html
今日推荐