参考链接:https://www.zmrenwu.com/post/20/

说明: 本站使用的环境是Python3.6.3Django3.0.7MySQL5.7.2Ubuntu16.04Nginx,有关Python3.6,MySQL,Nginx的安装,本站其他文章中都有介绍。本站域名是bgods.cn,后面只要是有bgods.cn的地方都换成你自己的域名。如果以上环境都已经准备好了,就可以开始以下内容了....

一、部署代码

1、部署前的项目配置

Django项目中会有一些CSS,JavaScript等静态文件,为了能够方便地让Nginx处理这些静态文件的请求,我们把项目中的全部静态文件收集到一个统一的目录下,这个目录通常位于Django项目的根目录,并且命名为static。为了完成这些任务,需要在项目的配置文件settings.py里做一些必要的配置:

# 加入下面的配置 …

文档:https://py-googletrans.readthedocs.io/en/latest/

 

安装

pip install googletrans==4.0.0-rc1

使用

from googletrans import Translator
# 设置Google翻译服务地址
translator = Translator(service_urls=[
      'translate.google.cn'
])

translation = …

MateBase配置说明

MateBase配置,需要修改环境变量来实现,这里以Win+MySQL为例,具体查看官方文档

1、修改默认端口:

环境变量:

MB_JETTY_PORT=1234

2、修改默认数据库为mysql:

环境变量:

MB_DB_TYPE=mysql
MB_DB_DBNAME=metabase
MB_DB_PORT=3306
MB_DB_USER=root
MB_DB_PASS=root123
MB_DB_HOST=localhost
MB_DB_CONNECTION_URI="jdbc:mysql://localhost:3306/metabase"

3、创建数据库

CREATE DATABASE metabase …

Github无法加载或不显示图片,只需要修改host文件即可:

文件路径

  • Mac:/etc/hosts
  • Win:c:\windows\system32\drivers\etc/hosts

以Mac为例:

  • 1.Mac终端输入
sudo vi /etc/hosts

 

  • 2.输入密码后,点击 i键,进入Insert模式,将下面内容拷贝进去
# GitHub Start
192.30.253.112 Build software better, …
git

在四月份刚接触Peewee的时候,写过一篇Peewee 使用。而后,在使用的过程中,发现很多常用的内容需要搜索查阅,今天就在这里整理一下。

一、插入数据

插入数据,我们可以实例化一个Model,然后再使用save()的方法插入到数据库中。如下:

# 插入一条数据
p = Person(name='liuchungui', birthday=date(1990, 12, 20), is_relative=True)
p.save() …

最近,需要同步数据到Mysql中,数据量有几百万。但是,自己写一个for循环,然后使用Model.create()添加,发现这种方式特别慢。难道,像去年爬数据一样,将几百万的数据从Redis取出来,然后使用多线程进行保存?

在Google上搜索了之后,找到一种更简单的方式,那就是使用Peewee原生的方法insert_many(),进行批量数据插入。

那么,它的速度有多快?

下面,是我简单的比较了插入10000条数据到本地数据库中,四种方式所需要的时间。

1、使用循环和Model.create()

代码如下:

from xModels import XUser, database
import time

NUM = 10000 …

上周学习了下基本的Peewee使用,知道了基本的增删改查和建数据库。不过,在项目中同步数据的时候,需要用到事务,于是赶紧补充了官方的Transactions,然后写个总结。

常用方法

Peewee实现事务最常用的方法是Database.atomic()方法,非常简单,代码示例如下:

 

from xModels import XUser, database

with database.atomic() as transaction: …

原因

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

解决

更改加密规则:

mysql -uroot -ppassword #登录

use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' …