Python学习记录

Python的创始人为
吉多·范罗苏姆
(Guido van Rossum)
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象、直译式的电脑程序语言。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的操作系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。
Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面的程序设计、泛型编程多种编程范式。
flask-jwt-oidc
2019年05月29日
Flask-jwt-oidc的一个库,地址:thorwolpert/flask-jwt-oidc首先配置一些具体的参数,主要是验证地址和一些Client_id,具体代码如下:#.env export JWT_OIDC_WELL_KNOWN_CONFIG="https://KEYCLOAK-SERVICE/auth/realms/REALM-NAME/.well-known/openid-conf...
Flask 获取客户端访问uri
2019年05月28日
如果要获取客户端访问的uri,通过Flask获取访客host,采用如下方式:print request.url_root # prints "http://domain1.com/" print request.headers['Host'] # prints "domain1.com"使用request的url_root方法获取客户端的host。参考资料:Handling with mul...
first_or_404() get_or_404()
2019年05月28日
first_or_404()返回查询的第一个结果,如果没有结果,则返回None。property_id = PrivateNumberPropertyName.query.filter_by( id=get_value_single.property_name_id).first_or_404().property_idget_or_404()返回指定主键对应的行,如果没有对应的行,则返...
SQLAlchemy多对多的建表方式
2019年05月23日
首先定义两个表的相关属性:# 私有号码特性 class PrivateNumberProperty(db.Model): __tablename__ = 'private_number_property' id = db.Column(db.Integer, primary_key=True) property_name_id = db.Column(db.Inte...
Set single_parent=True on the relationship().
2019年05月19日
今天在使用SQLAlchemy查询多对多的时候,出现了如下错误:sqlalchemy.exc.ArgumentError: On PrivateNumberProperty.PrivateNumberTag, delete-orphan cascade is not supported on a many-to-many or many-to-one relationship when singl...
Object of type 'Decimal' is not JSON serializable
2019年05月19日
最近使用Flask.jsonify()的时候出现如下错误:Object of type 'Decimal' is not JSON serializable出现问题的原因:jsonify()无法处理Decimal数据类型。解决方案:您可以通过在应用json_encoder程序实例上设置属性来覆盖应用程序的JSON编码器:import flask app = flask.Flask(...) ...
request.headers.getlist("X-Forwarded-For")[0] 多ip问题
2019年05月15日
如果在Flask中你这样获取客户端IP:# get remote ip if request.headers.getlist("X-Forwarded-For"): get_remote_ip = request.headers.getlist("X-Forwarded-For")[0] else: get_remote_ip = request.remote_addr ...