json和字典间相互转换:
要导入json模块,有两种:
import json
from flask import json
1.dict转json字符串,使用json模块的dumps
dict = {"name":"zhangsan","age":18}
“json_data = json.dumps(dict)”
2.json字符串转字典:使用json模块的loads
dict_data = json.loads(json_data)
默认情况下,session存储的数据在内存中,如果要设置session内容存储的位置,需要借助flask_session里的Session
"""
默认情况下,session存储的数据在内存中,
如果想要设置session内容存储的位置,需要借助于flask_session里面的Session
"""
from datatime import timedelta
from flask import Flask,session
from flask_session import Session
import redis
app = Flask(__name__)
app.config["SECRET_KEY"] = "fkdjfkdj"
#设置session的配置信息
app.config["SESSION_TYPE"] = "redis"
app.config["SESSION_REDIS"] = redis.StrictRedis(host="127.0.0.1",port=6379)
app.config["SESSION_USE_SIGNER"] = True
# app.config["PERMANENT_SESSION_LIFETIME"] = timedelta(days=2) #两天有效期
app.config["PERMANENT_SESSION_LIFETIME"] = 10 #单位秒,10秒有效期
#创建Session对象,读取app身上的配置信息
# ctrl+p查看参数,ctrl+鼠标左键点进去看看配置信息(上面设置的那些)
Session()
@app.route("/"):
def hello_world():
# 设置
session["name"] = "banzhang"
# 获取
name = session.get("name")
print(name)
return "helloworld"
if __name__ == "__main__":
app.run(debug=True)
用浏览器打开设置session的网站,在终端中使用redis,再python中用PARAMANENT_SESSION_LIVETIME设置的时间之内,用keys *能看到秘钥
Git:是目前世界上最先进的分布式版本控制系统(没有之一)
方便多人开发,方便版本管理
SVN:集中式版本管理系统
git会在根目录创建个.git,里面保存配置
第一次clone到本地,以后就是push和pull
工作区、暂存区和仓库区
工作区:IDE,集成开发环境,可提交到暂存区
暂存区:可到工作区和仓库区,一旦提交到仓库区,工作区和暂存区就没了
仓库区:可通服务器push和pull
只有仓库区内容才可以提交到服务器
安装git:sudo apt-get install git
先cd进工作目录
初始化git仓库:git init
然后在该目录下生成个隐藏文件.git
在刚刚的工作目录下写代码:touch file01.py
git status
查看工作区和暂存区状态。红色,表示在工作区;绿色,表示在暂存区
工作区到暂存区(指定文件)git add file01.py
工作区到暂存区(所有):git add .
使用git status
查看,绿色,表示在暂存区
撤销工作区写的代码:git checkout 文件名
然后get add .
提交到暂存区
将暂存区提交到仓库区:git commit -m "注释"
到暂存区和到工作区命令合并到一起:git commit -am "注释"
注意:有坑,只能提交以前git add 过的,没有git add 过的不行
查看提交历史,详细信息:git log
黄色的,commit开头的是版本号
git reflog
查看提交历史,列简要信息
黄色的短的也是版本号,取前7位
桌面系统,在文件夹里ctrl + h查看隐藏文件 cd .git
配置config
git config user.name "banzhang"
设置config里name为banzhang
git config user.email "[email protected]"
和上面的类似
回退版本:
查看当前版本:git reset --hard HEAD
HEAD:查看当前版本
回退上一个版本:git reset --hard HEAD^
git reset --hard ~1
和上面一样
git reset --hard 指定版本号
回退到指定版本号
暂存区撤销到工作区:git reset HEAD 文件名
版本比对:git diff HEAD HEAD^ 文件名
本版本与上版本比对
版本对比:git diff 版本号1 版本号2
第一行:diff --git a/3.txt b/3.txt 表示该文件两个版本不同
第二行:delete file mode 100644 表示版本1删掉得到版本2;如果是添加,是new file mode
绿色那行:表示该文件添加那行得到版本2,淡蓝色那行是光标
删除:rm 文件名
或 git rm 文件名
删除之后到暂存区
误删恢复:git checkout --文件名
回退到上个版本:git reset --hard HEAD^
多人控制:需要git服务器(码云、github)
把项目克隆到本地 git clone git的网络地址
git push
:推送到服务器
新招人,从git克隆:用刚刚那个clone
以后就不可隆了,用git pull
下拉到从仓库区
多人开发中的坑:
要是自己的版本不是最新的,就要pull,不然push不上去
敲pull会自动合并,修正冲突,如果报错会给你显示冲突信息,中间有====分割,要你进行2选1
删改之后,保存到仓库区,然后就能push了
提交后另一方要get pull下来
一个人提交的代码,必须是可执行的
冲突原因:
多人同时操作了同一个文件
一个人一直写不提交
修改之前不更新最新代码
提交之前不更新最新代码
擅自修改同事代码
减少冲突方式:
写完之后抓紧提交
下班之前一定要提交代码
上班写代码之前一定要拉取最新代码
一定不要修改同事代码(能减少90%)
标签:当一个大版本完成之后,需要打一个标签
记录大版本,备份大版本代码
打标签:
先打本地标签:git tag -a v1.0 -m "备注"
v1.0是标签名,也可以改成其它的
标签在隐藏.git的refs/tags/里可以显示
本地标签推送过去:git push origin v1.0
推送过去之后,以前的就都属于v1.0标签了
在推1.1,从最开始创建到最新就都属于1.1,中间那部分既属于1.0,又属于1.1
删除本地标签:git tag -d v1.0
删除远端标签:git push origin --delete v1.0
分支:
1.碰到难题,建个分支,把难题丢给一个人开发,其它人继续开发。等难题解决再合并分支
2.新同事使用
查看当前分支:git branch
创建本地分支dev:git checkout -b dev
创建完之后自动切换过去
b:build
推送到远端:git push -u origin dev
另一个用户git pull
拉下来后,切换到子分支
切换分支:git checkout 分支名
开发完之后push过去,就到了子分支,主分支就没有
另外的用户下拉,合并两个分支:
=先切换=到主分支master
git checkout master
然后合并dev分支到master
git merge dev
private:私有的,可以指定人看,收费
证书:一般选择mit,防止别人将项目商业化
README:可以写些描述,需要哪些包,怎么把你程序运行起来
注意:使用Pycharm搞git上的时,有些文件,比如.idea和其它的不能提交,需要忽略
在里面新建个文件夹.gitignore,把.idea拷贝进去
不需要提交的:
.idea/
.py[cod]
git remote -v:查看远端git地址
先克隆:VCS—git----clone,弹出窗口填写地址
设置提交的地址(不设是你默认克隆的地址):VCS----git----Remotes
文件状态:
右边栏那四个图标都是针对你选择的目录进行操作的
我通常都是选到项目根目录,然后点这四个按钮进行操作的,这样操作的就是整个项目了
还有一个,本地回退到之前的版本:先选中项目目录,然后点历史,然后点中要回到版本号,右键复制版本号,然后VCS—Git—Reset Head,把版本号粘贴到这,Reset Type选择Hard,这样本地代码会变