def

【python】-- Django ORM(基础)

孤人 提交于 2021-01-06 04:20:42
Django ORM(基础) Django 框架十分强大,自带数据库操作功能。Django 跟 SQLAchemy 一样,也是通过ORM(Object Relational Mapping,关系对象映射)的方式对数据库进行操作,django中遵循 Code Frist (根据代码中定义的类来自动生成数据库表)的原则。 一、创建表 1、在SQLite中创建表 1.1、在app中的models.py中先写类: from django.db import models # Create your models here. class UserInfo(models.Model): # id列,Django框架会默认生成id(自增,主键),也可以通过AutoField类型自定义主键,不过Django框架默认生成ID列会失效 # 用户名列,字符串类型,最大长度长度 username = models.CharField(max_length=32) password = models.CharField(max_length=64) 1 AutoField(Field) 2 - int自增列,必须填入参数 primary_key= True 3 4 BigAutoField(AutoField) 5 - bigint自增列,必须填入参数 primary_key= True 6 7 注

Python—requests模块详解

拈花ヽ惹草 提交于 2021-01-06 01:22:46
1、模块说明 requests是使用Apache2 licensed 许可证的HTTP库。 用python编写。 比urllib2模块更简洁。 Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。 在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。 现代,国际化,友好。 requests会自动实现持久连接keep-alive 2、基础入门 1)导入模块 import requests 2)发送请求的简洁   示例代码:获取一个网页(个人github) import requests r = requests.get( ' https://github.com/Ranxf ' ) # 最基本的不带参数的get请求 r1 = requests.get(url= ' http://dict.baidu.com/s ' , params={ ' wd ' : ' python ' }) # 带参数的get请求 我们就可以使用该方式使用以下各种方法 1 requests.get(‘https://github.com/timeline.json’) # GET请求 2 requests

29 Jun 18 Django,auth

丶灬走出姿态 提交于 2021-01-06 01:18:28
29 Jun 18 一、内容回顾 1. VUE (一套用于构建用户界面的渐进式框架) VUE: https://cn.vuejs.org/v2/guide/ VUE ROUTER: https://cn.vuejs.org/v2/guide/ VUEX: https://vuex.vuejs.org/zh/ 2. Refresh(小圆圈)和重输URL的区别: Refresh: 重新提交请求 重输URL:重新获取html 3. validators 为一个列表,可混用校验函数和正则表达,如下 validators=[zhangzhao, RegexValidator(r'^1[356789][0-9]{9}$', "手机格式不正确"),...] 4. 校验:先走各字段内置的校验,再走各字段自定义的校验(局部钩子),最后走全局钩子clean的校验 5. 可以将创建的form表单类,放到单独的py文件中,至于app下。使用前导入 from app01 import forms.py 6. 作业讲解(基于Bootstrap的注册页面) a. 导入bootstrap css <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"> b. 设置居中 <div class="container">

Django ORM

自闭症网瘾萝莉.ら 提交于 2021-01-06 01:14:21
ORM性能 查指定字段,使用values() select_related 支持 一对一 多对一 # 连表 prefetch_related 支持 多对一 多对多 # 子查询 only 只取某些字段 defer 排除某些字段 多个数据库 配置 DATABASES = { ' default ' : { ' ENGINE ' : ' django.db.backends.sqlite3 ' , ' NAME ' : os.path.join(BASE_DIR, ' db.sqlite3 ' ), }, ' db2 ' : { ' ENGINE ' : ' django.db.backends.sqlite3 ' , ' NAME ' : os.path.join(BASE_DIR, ' db2.sqlite3 ' ), }, } 执行迁移命令 python36 manage.py migrate --database db2 读写分离 手动 models.Student.objects.all().using( ' db2 ' ) obj = models.Student.objects.filter(pk=1).using( ' db2 ' ).update(name= ' duige ' ) obj = all_students.first() obj.name = '

ubuntu16.04 install qtcreator

一曲冷凌霜 提交于 2021-01-05 22:19:08
1. 安装相关软件,搭建环境 sudo apt install qt- creator sudo apt install qt5- default source python35/bin/activate pip install pyqt5 2. 输入qtcreator,打开设计界面,进行相关控件拖放和属性配置即可。 简单的加减小例子 #include " mainwindow.h " #include " ui_mainwindow.h " MainWindow::MainWindow(QWidget * parent) : QMainWindow(parent), ui( new Ui::MainWindow) { ui ->setupUi( this ); } MainWindow:: ~ MainWindow() { delete ui; } void MainWindow::on_add_clicked(){ int res = ui->M->text().toInt()+ ui->N-> text().toInt(); ui ->result-> setText(QString::number(res)); } void MainWindow::on_sub_clicked() { int res = ui->M->text().toInt() - ui->N->

【spark系列7】spark delta写操作ACID事务实现分析

只愿长相守 提交于 2021-01-05 16:11:30
背景 本文基于delta 0.7.0 spark 3.0.1 我们之前的 spark delta写操作ACID事务前传--写文件基础类FileFormat/FileCommitProtocol分析 分析了delta写数据的流程,但是还没分析deltalog 写数据的流程,这部分也是实现ACID的核心部分。 ##分析 直接到 WriteIntoDelta.run override def run(sparkSession: SparkSession): Seq[Row] = { deltaLog.withNewTransaction { txn => val actions = write(txn, sparkSession) val operation = DeltaOperations.Write(mode, Option(partitionColumns), options.replaceWhere, options.userMetadata) txn.commit(actions, operation) } Seq.empty } 我们来看一下 deltaLog.withNewTrancation 方法 : def withNewTransaction[T](thunk: OptimisticTransaction => T): T = { try { update()

IDEA 逆向工程

女生的网名这么多〃 提交于 2021-01-05 14:45:28
今天要写一个导入功能,需要把数据库的一个表映射成一个pojo,但是这表字段不是一般的多啊。。。想了想能不能自动生成???在IDEA中点了半天发现还是可以的 下面介绍一下步骤: 第一步:找到这个图标,建立一个数据库连接 建立完成之后如下图: 第二部修改生成pojo的脚本,切换到这个视图 主要是修改包名: 把上图中的packageName修改成生成pojo存放位置的包即可 第三步:选中要生成实体类的表(可以多选),右键按下图即可生成 如果项目中使用了Lombok插件的话,可以扩展一下自带的Generate POJOs.groovy就可很快的生成我们想要形式的pojo 下面是我的这个工程结构: 这是一个典型的maven工程结构,针对maven工程,扩展的两个groovy脚本,两个脚本均可以根据选择的文件夹自动生成正确的包名 Generate POJOs For Hibernate Lombok.groovy 这个脚本用来生成Hibernate的实体类,要注意两点:1、主键名必须是“id”,2、如果表中有版本字段,那么版本字段名必须是"version",3、这脚本生成的实体类,主键生成策略没有采用自增模式,如果你的表中主键设置了自增的话, 需要稍微改动一下才可以用 1 import com.intellij.database.model.DasTable 2 import com

动态图GIF:​我的python会跳舞!

泄露秘密 提交于 2021-01-05 14:01:44
点击上方 蓝字 关注我们 点击上方“ 印象python ”,选择“ 星标 ”公众号 重磅干货,第一时间送达! 作者:ostas Andreou 源自:机器之心 看这优美的舞姿 数据暴增的年代,数据科学家、分析师在被要求对数据有更深的理解与分析的同时,还需要将结果有效地传递给他人。如何让目标听众更直观地理解?当然是将数据可视化啊,而且最好是动态可视化。 本文将以线型图、条形图和饼图为例,系统地讲解如何让你的数据图表动起来 。 这些动态图表是用什么做的? 接触过数据可视化的同学应该对 Python 里的 Matplotlib 库并不陌生。它是一个基于 Python 的开源数据绘图包,仅需几行代码就可以帮助开发者生成直方图、功率谱、条形图、散点图等。这个库里有个非常实用的扩展包——FuncAnimation,可以让我们的静态图表动起来。 FuncAnimation 是 Matplotlib 库中 Animation 类的一部分,后续会展示多个示例。如果是首次接触,你可以将这个函数简单地理解为一个 While 循环,不停地在 “画布” 上重新绘制目标数据图。 如何使用 FuncAnimation? 这个过程始于以下两行代码: import matplotlib.animation as ani animator = ani.FuncAnimation(fig, chartfunc,

卧槽!​我的Python竟然会跳舞!

纵饮孤独 提交于 2021-01-05 10:51:10
作者:ostas Andreou 源自:机器之心 看这优美的舞姿 数据暴增的年代,数据科学家、分析师在被要求对数据有更深的理解与分析的同时,还需要将结果有效地传递给他人。如何让目标听众更直观地理解?当然是将数据可视化啊,而且最好是动态可视化。 本文将以线型图、条形图和饼图为例,系统地讲解如何让你的数据图表动起来 。 这些动态图表是用什么做的? 接触过数据可视化的同学应该对 Python 里的 Matplotlib 库并不陌生。它是一个基于 Python 的开源数据绘图包,仅需几行代码就可以帮助开发者生成直方图、功率谱、条形图、散点图等。这个库里有个非常实用的扩展包——FuncAnimation,可以让我们的静态图表动起来。 FuncAnimation 是 Matplotlib 库中 Animation 类的一部分,后续会展示多个示例。如果是首次接触,你可以将这个函数简单地理解为一个 While 循环,不停地在 “画布” 上重新绘制目标数据图。 如何使用 FuncAnimation? 这个过程始于以下两行代码: import matplotlib.animation as ani animator = ani.FuncAnimation(fig, chartfunc, interval = 100 ) 从中我们可以看到 FuncAnimation 的几个输入: fig 是用来

Scala笔记

我的未来我决定 提交于 2021-01-05 08:41:03
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11540972.html Scala学习笔记 import Array._ /** * TODO * scala 基础用法 */ object Hello { println( "hello world ! scala " ) def main(args: Array[String]){ println( "hello world ! main " ) println(o( 4 )) } def m(x : Int) = x + 3 val f = (x : Int) => x + 3 def n(x : Int, y : String) : String = x + 3 + "" def o(x : Int) : String = { var duc : Int = 0 duc = x /(2 ) return duc + "" } var factor = 3 var multiper = (i : Int) => i * factor var z : Array[String] = new Array[String](3 ) var zz = new Array[String](3 ) var zzz = Array("x", "y", "z" ) for (t <-