FLASK_SETTINGS_MODULE
在 Flask 制定的配置规则中,
FLASK_SETTINGS_MODULE
环境变量应该被设置为 Flask 应用程序配置模块的 Python 导入路径,即模块的名称,而不是文件路径。这是一种惯例,可以让应用程序的配置与应用程序的代码分离。在 Flask 中,
FLASK_SETTINGS_MODULE
环境变量应该被设置为 Flask 应用程序配置的 Python 导入路径,即模块的完整名称(From Object To Relational db). 这个设置规则需要遵循 Python 的包结构,每个点分隔符表示一个级别的包。Fiddler调试:SSL: WRONG_VERSION_NUMBER
使用Fiddler对web服务进行抓包时出现错误(关闭fiddler则没有该错误)。
原因:
没懂。Fiddler默认会捕捉HTTPS的流量,但是对转发的HTTPS包无法处理。即设置了一个系统代理https_proxy=https://127.0.0.0.1:8888,但是该127的https服务器默认起不来。
解决:
- 取消Fiddler中捕捉HTTPS流量,在option→https中取消勾选。
另一个思路,让fiddler捕捉https流量,安装证书,试了之后也不行。
clash这种代理也可以转发各种包,http、https都可以转发,也能捕捉所有流量。为啥fiddler代理就不行,https的包不能拆开单纯就是开不到流量里面的内容而已。
第一种可以启动,第二种无法启动。会显示:
requests.exceptions.ProxyError: HTTPSConnectionPool(host): Max retries exceeded with url: /realms/euler/.well-known/openid-configuration (Caused by ProxyError('Your proxy appears to only use HTTP and not HTTPS, try changing your proxy URL to be HTTP. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#https-proxy-error-htt p-proxy', SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1091)'))))
无法代理https,啊?不确定是python库的问题还是fiddler的问题,没有别的https的接口来测试。
工程规范
Python项目遵循PEP8标准:PEP 8 – Style Guide for Python Code | peps.python.org
其中主要对注释规范进行重点学习。
其中docstring:
• 为所有公共模块、函数、类和方法编写文档字符串。文档字符串对于非公共方法不是必需的,但您应该有一个注释来描述该方法的作用。此注释应显示在def
行之后。
在Pycharm中添加一些注释模板:
- 新建py文件:参考fof原有工程的代码,添加以下模板,在File->settings->Editor->File and Code Templates->Python Script
- 函数注释。
- 普通函数注释,直接使用”””调出模板,File | Settings | Tools | Python Integrated Tools | Docstring format,选择plain风格(默认)。
- 针对部分已有文件中函数的修改或添加,为表示所有人,再添加作者相关信息的,使用LiveTemplate。File -> Settings -> Editor -> Live Templates。作为前一个的补充。
参考:
数据库
大小写问题:
ORACLE执行SQL时,对于没有””双引号包裹的表名,会将其自动转换为大写的。(ORACLE默认希望以大写编码表名和字段)
对于pandas,在使用
pandas.read_sql()
函数从数据库中读取数据时,如果数据库中的列名使用的是大写字母或者是混合大小写的形式,那么读取到的列名会被自动转换为小写。这是因为pandas
默认会将所有的列名转换为小写字母格式。Python异常处理
在异常处理调用链中:有以下代码:
一直以为第三段try捕获到了异常,处理完了,为什么还是没有执行第二段后续代码,而是继续抛出异常给第一段代码,就很奇怪。然后发现结果是更外层有个异常捕获:
并不是我理解不对,第三段捕获后处理就处理了。但是处理的时候又出现别的错误,抛出其他异常,结果被最外层捕获,缺什么都没处理。直接就迷惑了。
警示:千万不能随便捕获过于宽泛的异常又不处理。认真对待IDE提示的Warning.
git merge specific commit
使用git cherry-pick
pip install xx[extra]
用于安装该包中额外的组件,包含下载额外的依赖。
比如。
$ pip install flask-jwt-extended[asymmetric_crypto]
会额外下载cryptography包。- 作者:Olimi
- 链接:https://olimi.icu/article/8f50fa8f-7430-457f-ab90-e3ca536c21d4
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。