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. java生成实体类的工具内部是如何实现的(mysql)

    一.认识INFORMATION_SCHEMA数据库 INFORMATION_SCHEMA数据库提供了访问数据库元数据(数据的数据)的方式 该数据库中存放有数据库名.表名,列名.列的数据类型等各种数据 ...

  2. 服务器ipmi远程管理

    DELL iDRAC (Integrated Dell™ Remote Access Controller )是 Dell PowerEdge 系列服务器上的远程管理方案, 11代 12代服务器已经集 ...

  3. 【Leetcode】【Easy】Valid Parentheses

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  4. msysGit删除github文件

    首先打开msysGit命令行工具 首先使用命令 git rm xxx 删除远程文件 提交删除操作 git commit -m "test" ,并推送到远程仓库 git push o ...

  5. Oracle transport tablespace

    本来没想过发布这个文章,只是周边有一朋友工作中遇到合并数据库的情况,他是通过expdp提取出五个库对象,然后impdp到新库里面.我觉得这种方法特别耗时,尤其在数据量比较大的时候.这种时候我觉得采用表 ...

  6. 数组:获取数组中最后一个数据end()函数

    今天来学习一下end()函数 1.案例:直接获取数组中最后一个数据 代码部分 结果: 2.案例:从url中获取最后一个数据 代码部分: 结果: 总结: 1.有时候我们需要去获取数据库中,id最大的那个 ...

  7. 字符串相关函数-strcpy()与strcmp()

    一些小问题,避免出现低级错误. 1.strcmp(s1,s2): 字符串指针不见'\0'不回头,这个常在与单个字符作比较时写着写着就忘了. char* p_ch1="this is an e ...

  8. Python语言程序设计基础(6)—— 组合数据类型

    tuple 元组(创建后不能修改) tuple = "cat","dog","tiger","human" print( ...

  9. Node.js使用MySQL数据库中对RowDataPacket对象的使用

    使用Node.js开发使用MySQL数据库的网站,在查询后返回一RowDataPacket类型的对象 原先使用toString()方法一直得到仅为object的字符串,无法使用 后思考,才发现忽略了其 ...

  10. 2018.10.10 Java的The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 错误

    我们在用Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on t ...