二、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)就能够实现数据库结构的调整。
4、关于正则表达式^和$
https://www.cnblogs.com/JimmyBright/p/7205851.html
二、Django需要的知识点的更多相关文章
- Django(十二)—关于查询知识点总结
https://www.cnblogs.com/haiyan123/p/7763710.html models.Book.objects.filter(**kwargs): querySet ...
- python 全栈开发,Day111(客户管理之 编辑权限(二),Django表单集合Formset,ORM之limit_choices_to,构造家族结构)
昨日内容回顾 1. 权限系统的流程? 2. 权限的表有几个? 3. 技术点 中间件 session orm - 去重 - 去空 inclusion_tag filter 有序字典 settings配置 ...
- 二 Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器
Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器 这一节主讲url控制器 一.urls.py模块 这个模块是配置路由映射的模块,当用户访问一个 ...
- 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)
第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...
- python学习笔记--Django入门二 Django 的模板系统
为了使网站更干净简洁更容易维护,页面的设计和Python的代码必须分离开.我们可以使用Django的 模板系统 (Template System)来实现这种模式. 几个简单的模板标签(tag): ...
- Python3学习之二Django搭建
严格来讲,这篇应该是前一篇 的续集吧,这也属于环境搭建:搭建一个Web开发环境. 1,官网下载最新的Django,当前最新的是1.8.2.所以我就下的这个版本,下载下来的是一个gz包Django-1. ...
- Django学习(二) Django框架简单搭建
为了快速学习Python进行Web的开发,所以我不准备从Python的基础学起,直接从Django框架入手,边学框架边学Python的基础知识. 下面就开始Django的快速开发之旅吧. 关于Djan ...
- django学习过程中知识点小结
创建项目:django-admin startproject mysite 该命令将会创建一个名为mysite的项目. mysite/ manage.py mysite/ __init__.py se ...
- 数据库表反向生成(二) Django ORM inspectdb
在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...
随机推荐
- requireJS基本配置相关
requireJS: (1)实现js文件的异步加载,避免页面失去响应: (2)管理模块之间的依赖性,便于代码的编写和维护. 加载: <script src="js/require.js ...
- HTML基础内容(持续更新...)
1.<!DOCTYPE html>声明有助于浏览器中正确显示网页 HTML5<!DOCTYPE html>HTML 4.01<!DOCTYPE HTML PUBLIC & ...
- 1.Zabbix 3.0 基础
请查看我的有道云笔记: http://note.youdao.com/noteshare?id=85046af7675851675679a47beadc7aa3&sub=000AB0B2409 ...
- ZHS16GBK编码中汉字缺失
生产中使用ZHS16GBK编码的Oracle数据库,若出现字,则会出现乱码 原因是此字不存在在ZHS16GBK编码中 解决方法可以:此二字结构相同,但是后面的在ZHS16GBK编码中出现
- 三个方法教会你win7中IIS7配置php环境
三个方法教会你win7中IIS7配置php环境.今天静下心来研究了下在win7中使用IIS7配置php环境,其实很简单!跟下面方法做之前,请先确定你的电脑中未安装其它相关环境程序及服务,之前安装过ap ...
- 如何查找Fiori UI上某个字段对应的后台存储表的名称
今天微信群里有朋友问到这个问题. 如果是SAPGUI里的事务码,比如MM01,对于开发者来说这个任务非常容易完成. 比如我想知道下图"Sales Unit"这个字段的值到底保存在哪 ...
- Jmeter入门9 __digest函数 jmeter字符串连接与登录串加密应用
登录请求中加密串是由多个子串连接,再加密之后传输. 参数连接:${var1}${var2}${var3} 加密函数:__digest (函数助手里如果没有该函数,请下载最新版本的jmeter5 ...
- HDU 6034 6038
6034:给每个字母26进制的贪心.例如一个字母 c = 7*26^89 + 6*26^50.... 这个字符串有10^5长度.普通的大整数会超时,这里要稀疏这个大数一个pair<int,int ...
- 2018.11.12 Spring事务的实现和原理
Spring事务用法示例与实现原理 关于事务,简单来说,就是为了保证数据完整性而存在的一种工具,其主要有四大特性:原子性.一致性.隔离性和持久性.对于Spring事务,其最终还是在数据库层面实现的,而 ...
- 【luogu P3879 [TJOI2010]阅读理解】 题解
题目链接:https://www.luogu.org/problemnew/show/P3879 我先说一句: 我永远都喜欢StellaSTL 这个题,很明显就是 trie树 hash map+vec ...