二、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反向生成之前,我们先说一下怎么 ...
随机推荐
- 64位MATLAB和C混合编程以及联合调试
[环境说明] 电脑操作系统:win 7 旗舰版,64位 MATLAB版本:R2013b VS版本:Microsoft Visual Studio 2010 [操作说明] 1.在原来工程的基础上添加下列 ...
- 【量产工具修复】U盘插上没反应,格式化提示有写保护
最近在实验室发现师兄留下的U盘,插上电脑后打不开,弹出格式化界面,格式化的时候又提示该u盘“被写保护无法格式化”,于是打算采用量产的方法. 第一步:使用chipgenius监测u盘的芯片制造商和型号 ...
- ZooKeeper 典型应用场景-负载均衡
负载均衡(Load Balance)是一种相当常见的计算机网络技术,用来对多个计算机(计算机集群).网络连接.CPU.硬盘驱动器或其他资源进行分配负载,以达到优化资源使用.最大化吞吐率.最小化响应时间 ...
- std::string::find_last_not_of
public member function <string> std::string::find_last_not_of C++98 C++11 string (1) size_t fi ...
- scrum 第四次冲刺
一.项目目的 为生活在长大的学生提供方快捷的生活服务,通过帖子发现自己志同道合的朋友,记录自己在长大点滴.本项目的意义在于锻炼团队的scrum能力,加强团队合作能力.确定本项目采用的技术方向:本项目整 ...
- Locust性能测试2 分布式运行
locust分布式可以是本机多进程,也可以是本机作为master,其他机器作slave. 试一下本机的多进程运行: 1 控制台输入 locust -f 脚本路径 --master 2 打开另一个控 ...
- Selenium入门21 Select操作
select元素有单独的类:from selenium.webdriver.support.ui import Select 界面上选出select元素后,Select(select)进行类型转换就可 ...
- vue.js--基础事件定义,获取数据,执行方法传值
<template> <div id="app"> <h1>{{ msg }}</h1> <br> <button ...
- PowerDesigner如何设计表之间的关联
PowerDesigner如何设计表之间的关联 步骤/方法 在工具箱中找到参照关系工具: 由地区表到省份表之间拉参照关系,箭头指向父表,然后双击参照关系线,打开参照关系的属性: 在这里检查 ...
- Android(java)学习笔记58:Android 英文朗诵
1. 首先,我先把代码放到下面: package com.himi.speaker; import java.util.Locale; import android.app.Activity; imp ...