books

04-Django模型(1)

家住魔仙堡 提交于 2019-12-01 04:36:05
---恢复内容开始--- 模型   MTV图解 ORM   ORM全拼:Object-Relation-Mapping翻译就是对象关系映射。在MVC/MTV设计模式中的Model模块中都包括ORM。主要实现模型对象到关系数据库数据的映射。比如:把数据库表中每条记录映射为一个模型对象  ORM图解 优点:   只需要面向对象编程,不需要面向数据库编写代码。对数据库的操作都转化为对类属性和方法的操作,不用编写各种数据库的sql语句   实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异。通过简单地配置就可以轻松更换数据库,而不需要修改代码。 缺点:   相比较直接使用SQL语句操作数据库,有性能缺失。会转化为sql语句在执行。多了流程。根据对象的操作转换成sql语句,根据查询的结果转化成对象,在映射过程中有性能损失。 项目准备      1、创建项目 django-admin startproject BookManager   2、创建应用 python manage.py startapp Book   3、安装应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions',

[ef core ] 浅谈 Referential Constraint Action Options

一世执手 提交于 2019-12-01 02:37:23
link: https://www.learnentityframeworkcore.com/relationships/referential-constraint-action-options 我的理解是, 当你对数据库中的某个数据进行更新或者删除操作时, 对这个数据关联的数据如何操作的设置. 为了能够更好的理解, 首先搞两个表: 根据图示, author 表中的 author id 是作为 books 表中的外键存在的. 在设置 books 表的外键时的sql 语句为: CONSTRAINT [FK_Books_Authors_AuthorId] FOREIGN KEY ([AuthorId]) REFERENCES [Authors] ([AuthorId]) 也就是说当设置外键时, 我们需要指定一下, 当 Author 表中的 record 被 update 或者 delete 时, books 表中相关联的数据的值如何进行联动的设置. ef core 提供了四个设置, 分别是以下: on update/delete no action 这个设置是默认的, 举个例子就是当你删除 author 表中的某个 author 记录时, 如果你不先将 books 表中外键为该 author 的数据先删除, 你就不能去删除 author 表里这条记录. on update

跨域和CORS

南楼画角 提交于 2019-11-30 22:57:03
一 跨域      同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。       同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。    简单请求跨域   我们创建两个django项目,第一个叫做s1,一个叫做s2,s1用8000端口启动,s2用8001端口启动   s1项目的index.html文件内容如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2>s1的首页</h2> <button id="btn">Ajax请求</button> <script src="https://cdn

A Year Of Books

允我心安 提交于 2019-11-30 13:04:29
A Year Of Books – 2016 Javaer书单 (PS:欢迎留言推荐,很多来自 白衣大哥 的推荐) 1. OS & Networking 《 编码 : 隐匿在计算机软硬件背后的语言 》 《Linux内核设计与实现 第3版》 《WireShark网络分析就这么简单》 TCP 《WireShark网络分析的艺术》 TCP 《TCP/IP指南》 卷1 卷2 TCP/HTTP值得看 《HTTP权威指南》 TCP/HTTP值得看 2. Algorithm 《数据结构与算法分析-Java语言描述 第3版》 算法 + 数据结构 = 程序 《算法 第4版》 算法实战 3. Java Language 《Java核心技术 - Core Java》 基础 / Java 真正的Head First 《Java并发编程实战》 基础 / 并发&多线程必读经典 《 Java 7并发编程实战手册 》基础 / 并发&多线程必读经典 《实战Java高并发程序设计》 提升 《深入理解 Java 虚拟机 第2版》 提升 《Java性能权威指南》 提升 《有效的单元测试》 提升 / 单元测试 4. JavaEE Framework 《 Spring 3.x企业应用开发实战 》实战 / Spring 实战 《Netty权威指南 第2版》 实战 / 网络 《Redis设计与实现分析》 实战 / Redis实战

爬虫json文件处理

 ̄綄美尐妖づ 提交于 2019-11-29 14:51:53
json文件处理: 什么是json JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 更多解释请见: https://baike.baidu.com/item/JSON/2462549?fr=aladdin Json支持的数据格式: 1.对象·(字典)。使用花括号。 2.数组(列表)。使用方括号。 3.整形、浮点型、布尔类型还有null类型。 4.字符串类型(字符串必须要用双引号,不能用单引号)。 多个数据之间使用逗号分开。 注意:json本质上就是一个字符串。 字典和列表转JSON: import json books = [ { 'title': '钢铁是怎样练成的', 'price': 9.8 }, { 'title': '红楼梦', 'price': 9.9 } ] print(type(books)) json_str = json.dumps(books, ensure_ascii=False) print(type(json_str)) print(json

java--demo之图书馆管理系统

◇◆丶佛笑我妖孽 提交于 2019-11-29 13:27:43
思路:创建三各类 books 相当于书类 记录着书的属性和获取书的方法 mannagerbooks 管理图书 里面创建的一个books类型的数组 相当于书架 里面实现增删改查的方法 TestBooks 测试类记录着调各个类的方法实现菜单。 package com.hainiu.book; import java.util.Scanner; //书的属性类 class Books{ private String name; private double price; private int number; public Books(){ } public Books(String name, double price, int number) { this.name = name; this.price = price; this.number = number; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int

获取请求url中的参数

流过昼夜 提交于 2019-11-29 12:32:12
一、根据request获取参数 假设请求地址是: http://127.0.0.1:8020/books/?title=语文 那么后台的路由配置: re_path('books/$', views.BookView.as_view(), name="books") 视图中通过request获取参数title: title = request.Get.get('title','') 二、通过args或kwargs获取参数 kwargs获取值 请求的地址是: http://127.0.0.1:8020/books/yuwen/ 但是后台的路由进行参数分组: re_path('books/(?P<title>\w+)/$', views.BookView.as_view(), name="books"), 此时可以通过kwargs获取参数title: title = kwargs["title"] 这种情况的args是空的元祖,而kwargs是有值得字典{‘title’:'yuwen'} args获取值 请求的地址还是: http://127.0.0.1:8020/books/yuwen/ 但是路由不是分组的: re_path('books/(\w+)/$', views.BookView.as_view(), name="books"), 此时可以通过args获取参数title值:

Django -- 多对多建表增删改查

。_饼干妹妹 提交于 2019-11-28 20:18:34
ManyToManyField -- 自动创建第三张对应关系表 表结构 class Author(models.Model): name = models.CharField(max_length=32) books = models.ManyToManyField('Book') # 描述多对多关系,不生成字段,生成关系表 查询 def author_list(request): all_author = models.Author.objects.all() for author in all_author: print(author) # Author object print(author.pk) # 1 -- 数据对象ID print(author.name) # 小白 -- 数据对象name print(author.books) # app01.Book.None 关系管理对象 print(author.books.all()) # 所关联的所有对象 QuerySet列表 增加 def author_add(request): if request.method == 'POST': name = request.POST.get('name') books = request.POST.getlist('books') # getlist 获取多个元素 author

(10)ElasticSearch 版本控制

别说谁变了你拦得住时间么 提交于 2019-11-28 13:51:44
  ElasticSearch是多用户操作的 ,需要保证数据的一致性,它用乐观锁保证数据的一致性,用户每次操作一次文档,它的版本号就会自动加1,用户对文档操作时,不需要对文档加锁、解锁,只需要指定要操作的版本。当版本号一致时,ElasticSearch会允许该操作顺利执行,而当版本号存在冲突时,ElasticSearch会提示冲突并抛出异常。ElasticSearch的版本号的取值范围是1到2^63-1。   1、内部版本控制   使用的是_version,下面是个简单例子: POST /lib2/books/_bulk {"index":{"_id":1}} {"title":"Html5","price":45}   显示版本号是3,"_version": 3,结果如下: { "took": 19, "errors": false, "items": [ { "index": { "_index": "lib2", "_type": "books", "_id": "1", "_version": 3, "result": "updated", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 7, "_primary_term": 1, "status": 200 } } ] }  

Books

爱⌒轻易说出口 提交于 2019-11-28 00:30:37
链接: https://pan.baidu.com/s/1fz-ICx-XTabrbMZTb8Hgug 提取码: yvhx 复制这段内容后打开百度网盘手机App,操作更方便哦 免付费《深度学习入门:基于Python的理论与实现》高清中文版PDFwith源代码.zip 来源: https://www.cnblogs.com/swobble/p/11382756.html