私信  •  关注

snakecharmerb

snakecharmerb 最近创建的主题
snakecharmerb 最近回复了
2 年前
回复了 snakecharmerb 创建的主题 » 使用不同用户类型的flask_登录在python中实现登录系统

这个 user_loader 回调收到一个 id 作为一个参数,并从该信息中返回定义为“用户”类的任何对象的实例。你已经有效地定义了 “User”类,在当前配置中,如果用户加载程序通过“1”,则无法确定是否应返回 Teacher id为1或 Student 身份证是1。

更好的设计可能是搬家 email password 进入一个新的世界 User 类,并在 使用者 大学生 教师 。您可以添加一些验证,以确保 使用者 不能同时与一个 大学生 还有 教师 .

2 年前
回复了 snakecharmerb 创建的主题 » 如何将列表保存到mysql数据库中?

这个SQL

SELECT * FROM guild_invite_count WHERE guild_id = %s AND user_id = %s IS NOT NULL

这在逻辑上是不正确的。 AND user_id = %s IS NOT NULL 减少到 AND user_id = true (除非参数为null)。就这么做吧

SELECT * FROM guild_invite_count WHERE guild_id = %s AND user_id = %s
4 年前
回复了 snakecharmerb 创建的主题 » Flask没有从新的sql数据更新数据-Nginx,Uwsgi,Centos7,Mysql

根据 docs sqlalchemy.engine.Connection :

Connection对象表示从连接池签出的单个dbapi连接。在此状态下,连接池对连接没有影响,包括其过期或超时状态。要使连接池正确管理连接,只要连接未在使用中,就应将连接返回到连接池(即connection.close())。

因此,应该在每个请求的生命周期内创建和关闭连接,而不是在导入时创建为全局连接。

5 年前
回复了 snakecharmerb 创建的主题 » 如果没有正常函数的sentinel值,Python iter函数将无法工作

iter(spam) 期望 spam

iter(spam, sentinel) 期望 垃圾邮件 iter 将调用 垃圾邮件

5 年前
回复了 snakecharmerb 创建的主题 » 使用python解析以字节形式传入的api响应

响应是逗号分隔的数据,可以使用python的 csv 模块。

>>> bs = b'studentName, Dept, Env, result,\n"abcd","science","dev","pass"\n"decf","math","dev","fail"\n'
>>> import csv
>>> import io
>>> # Put the data into a buffer
>>> sio = io.StringIO(bs.decode('utf-8'))
>>> with sio as f:
...     reader = csv.DictReader(f)
...     for row in reader:
...         print(row)
... 
OrderedDict([('studentName', 'abcd'), (' Dept', 'science'), (' Env', 'dev'), (' result', 'pass'), ('', None)])
OrderedDict([('studentName', 'decf'), (' Dept', 'math'), (' Env', 'dev'), (' result', 'fail'), ('', None)])

每个输出行都是一个字典,可以用通常的方式访问

row['result']
5 年前
回复了 snakecharmerb 创建的主题 » 尝试在python中循环二进制文件

这个 iter 内置的,如果传递了一个可调用的,并且一个sentinel值将重复调用该可调用的,直到返回sentinel值。

所以你可以用 functools.partial (或使用 lambda )把它传给 iter ,像这样:

with open('foo.bin', 'rb') as f:
    chunker = functools.partial(f.read, 8)
    for chunk in iter(chunker, b''):      # Read 8 byte chunks until empty byte returned
        # Do stuff with chunk