python就业班第35天----git的使用、json&dict转换、flask_session

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 *能看到秘钥

python就业班第35天----git的使用、json&dict转换、flask_session_第1张图片


Git源代码管理

Git:是目前世界上最先进的分布式版本控制系统(没有之一)
方便多人开发,方便版本管理
SVN:集中式版本管理系统

git会在根目录创建个.git,里面保存配置

第一次clone到本地,以后就是push和pull

工作区、暂存区和仓库区
工作区:IDE,集成开发环境,可提交到暂存区
暂存区:可到工作区和仓库区,一旦提交到仓库区,工作区和暂存区就没了
仓库区:可通服务器push和pull
只有仓库区内容才可以提交到服务器

安装git:sudo apt-get install git

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

python就业班第35天----git的使用、json&dict转换、flask_session_第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

建文件夹、新仓库的含义
python就业班第35天----git的使用、json&dict转换、flask_session_第3张图片

private:私有的,可以指定人看,收费

证书:一般选择mit,防止别人将项目商业化
README:可以写些描述,需要哪些包,怎么把你程序运行起来

注意:使用Pycharm搞git上的时,有些文件,比如.idea和其它的不能提交,需要忽略

在里面新建个文件夹.gitignore,把.idea拷贝进去

不需要提交的:
.idea/
.py[cod]

git remote -v:查看远端git地址


pycharm使用git

python就业班第35天----git的使用、json&dict转换、flask_session_第4张图片
先克隆:VCS—git----clone,弹出窗口填写地址
设置提交的地址(不设是你默认克隆的地址):VCS----git----Remotes
文件状态:
python就业班第35天----git的使用、json&dict转换、flask_session_第5张图片

  • 橙色,未被git监控,git管理不了它,你应该把它用git监控,VCS—Git—Add,快捷是ctrl+alt+a
  • 蓝色:受你监控,你进行了修改,跟仓库区的代码不一样,改好后直接提交到仓库区
  • 绿色:新添加到git的文件,受控,等待你往仓库区提交
  • 蓝色绿色意义一样,第一次是绿色,提交到仓库区以后再修改就是蓝色了
    灰色(跟不用git时一样):表示该代码跟仓库区代码一样,没进行修改

插入图jybday35-12

右边栏那四个图标都是针对你选择的目录进行操作的

  • VCS箭头朝上的:弹出窗口,commit是提交到仓库区,也可以选择同时push,推送到服务器
  • VCS箭头朝下的:查看当前文件(夹)是否有新版本,并获取新版本,但不改变你代码
  • 右边那个:查看你选文件(夹)的历史版本
  • 最右边那个:回撤你所修改的,相当于你恢复到该版本仓库区的代码

python就业班第35天----git的使用、json&dict转换、flask_session_第6张图片

我通常都是选到项目根目录,然后点这四个按钮进行操作的,这样操作的就是整个项目了

还有一个,本地回退到之前的版本:先选中项目目录,然后点历史,然后点中要回到版本号,右键复制版本号,然后VCS—Git—Reset Head,把版本号粘贴到这,Reset Type选择Hard,这样本地代码会变

python就业班第35天----git的使用、json&dict转换、flask_session_第7张图片

你可能感兴趣的:(个人笔记)