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)就能够实现数据库结构的调整。

4、关于正则表达式^和$

https://www.cnblogs.com/JimmyBright/p/7205851.html

二、Django需要的知识点的更多相关文章

  1. Django(十二)—关于查询知识点总结

    https://www.cnblogs.com/haiyan123/p/7763710.html models.Book.objects.filter(**kwargs):   querySet   ...

  2. python 全栈开发,Day111(客户管理之 编辑权限(二),Django表单集合Formset,ORM之limit_choices_to,构造家族结构)

    昨日内容回顾 1. 权限系统的流程? 2. 权限的表有几个? 3. 技术点 中间件 session orm - 去重 - 去空 inclusion_tag filter 有序字典 settings配置 ...

  3. 二 Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器

    Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器 这一节主讲url控制器 一.urls.py模块 这个模块是配置路由映射的模块,当用户访问一个 ...

  4. 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)

    第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...

  5. python学习笔记--Django入门二 Django 的模板系统

    为了使网站更干净简洁更容易维护,页面的设计和Python的代码必须分离开.我们可以使用Django的 模板系统 (Template System)来实现这种模式. 几个简单的模板标签(tag):   ...

  6. Python3学习之二Django搭建

    严格来讲,这篇应该是前一篇 的续集吧,这也属于环境搭建:搭建一个Web开发环境. 1,官网下载最新的Django,当前最新的是1.8.2.所以我就下的这个版本,下载下来的是一个gz包Django-1. ...

  7. Django学习(二) Django框架简单搭建

    为了快速学习Python进行Web的开发,所以我不准备从Python的基础学起,直接从Django框架入手,边学框架边学Python的基础知识. 下面就开始Django的快速开发之旅吧. 关于Djan ...

  8. django学习过程中知识点小结

    创建项目:django-admin startproject mysite 该命令将会创建一个名为mysite的项目. mysite/ manage.py mysite/ __init__.py se ...

  9. 数据库表反向生成(二) Django ORM inspectdb

    在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...

随机推荐

  1. matlab练习程序(单源最短路径Bellman-Ford)

    该算法可以用来解决一般(边的权值为负)的单源最短路径问题,而dijkstra只能解决权值非负的情况. 此算法使用松弛技术,对每一个顶点,逐步减少源到该顶点的路径的估计值,直到达到最短的路径. 算法运算 ...

  2. Linux添加alias简化命令

    一.简介 linux alias 是命令的一种别称,输入 alias 可以看到像下面这样的结果: alias vi="vim" 也即,输入vi后,被自动定向到vim这个命令了.al ...

  3. May 13th 2017 Week 19th Saturday

    Mountains look beautiful from a distance. 远处看山山更美. This gnomic seems to circulate very long, its mor ...

  4. 下学期第三次作业——SQA计划和验收测试规程设计

    一.SQA计划 1.目的 在做云医院这个项目中,严格遵循SQA的计划,确保软件的质量的到保证 2.范围 随着项目的进行,不断的去改变计划,在项目开发的整个生命周期内. 3.人员分工 姓名 角色 开始时 ...

  5. Ubuntu环境安装Gradle

    AndroidStudio使用全新的构建系列—–Gradle. 这是官方为什么使用gradle 的理由: Domain Specific Language (DSL) to describe and ...

  6. Android(java)学习笔记25:Android 手机拨号

    1. 手机拨号程序:(只有程序代码) package cn.itcast.phone; import android.app.Activity; import android.content.Inte ...

  7. 20165322 预备作业3 Linux安装及学习

    Linux安装及学习 安装部分 由于是第一次接触虚拟机知识,之前也没什么了解,我选择完全按照老师教程里的安装vbox虚拟机. 虚拟机安装的过程很顺利,不做详细讲解. 出现的问题 在启动我新建的虚拟电脑 ...

  8. BZOJ4520:[CQOI2016]K远点对(K-D Tree)

    Description 已知平面内 N 个点的坐标,求欧氏距离下的第 K 远点对. Input 输入文件第一行为用空格隔开的两个整数 N, K.接下来 N 行,每行两个整数 X,Y,表示一个点 的坐标 ...

  9. Codeforces Round #333 (Div. 1)

    A. The Two Routes In Absurdistan, there are n towns (numbered 1 through n) and m bidirectional railw ...

  10. 【[HAOI2016]找相同字符】

    其实这道题跟[AHOI2013]差异很像 其实这个问题的本质就是让你算所有后缀的\(lcp\)长度之和,但是得来自两个不同的字符串 先把两个字符串拼起来做一遍\(SA\),由于我们多算了来自于同一个串 ...