参考链接: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里做一些必要的配置:

# 加入下面的配置 …

由于最近项目需要对一些比较敏感信息,比如账号信息,不能明文提供用户,需要加密处理,然后使用的时候再由封装好的程序去解密。

 

1. AES算法简介

    AES算法详解:高级加密标准,它是一种对称加密算法,AES只有一个密钥,这个密钥既用来加密,也用于解密。

AES加密方式有五种:ECB, CBC, CTR, CFB, OFB。
从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现。
CBC 和ECB模式的区别就是:

  • CBC加密需要一个十六位的key(密钥)和一个十六位iv(偏移量)
  • ECB加密不需要iv,只需要key(密钥)

 

2.模块安装

在 Windows下使用AES时要安装的是pycryptodome 模块 …

场景:计算出SKU当前可用库存的实际库龄
难点:实际情况,当前库存,不会是同一批入库的,不同批次入库

处理方法:

  1. 按照入库记录先进先出逻辑,入库早的先出库;
  2. 取SKU最近入库的记录作为当前库存的入库时间,再分别计算库龄。

当然,其他类似的先进先出,先进后出的分配问题均可用类似的逻辑处理。

 

比如:产品XB000001当前可用库存为217,按照出入库的先进先出逻辑,应该取最近一次入库的时间作为入库时间,不足库存的向上取,直至取完,因此217的库存应该是有165是5/19入库的,52个是4/21入库的。


DROP TABLE IF EXISTS #temp_a,#temp_b,#temp_c,#temp_d

/*
场景:计算出SKU当前可用库存的实际库龄
难点:实际情况,当前库存,不会是同一批入库的,不同批次入库
处理方法:
	1、按照入库记录先进先出逻辑,入库早的先出库; …

文档: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