python - 从变量sqlite python3 sqlalchemy中获取列名
问题描述
我想使用烧瓶 sqlalchemy 将存储在x
变量中的详细信息存储到 sqlite 数据库中。如何使它成为可能。
这是我写的代码:
from flask import Flask
from flask_httpauth import HTTPBasicAuth
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/u.db'
db = SQLAlchemy(app)
class User(db.Model) :
x = ['username = "sam"', 'password = "sam123"']
u1 = (x[0].split()[0])
p1 = (x[1].split()[0])
print(u1,p1)
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key = True)
u1 = db.Column(db.String(32), index = True)
p1 = db.Column(db.String(128))
if __name__ == '__main__':
db.create_all()
print("db created")
app.run(host='0.0.0.0', port=5001)
在 sqlite 中创建的表:
id u1 p1
在 sqlite 中创建所需的表和要加载的数据:
id username password
1 sam sam123
解决方案
您的表需要使用您想要的名称定义列:
class User(db.Model) :
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key = True)
username = db.Column(db.String(32), index = True)
password = db.Column(db.String(128))
您可以使用函数从以下位置提取用户名和密码x
:
def get_user_data(data):
user_data = []
for item in data:
part = item.partition(' = ')[2]
cleaned = part.replace('"', '')
user_data.append(cleaned)
return user_data
并创建一个User
这样的实例:
username, password = get_user_data(x)
user = User(username=username, password=password)
推荐阅读
- xcode - 在 Swift5 中使用 SpriteKit 构建简单的 Pong。桨之间形成的有线尖刺
- sql - DB2、MariaDB、MongoDB 的评估工具
- javascript - 拖放是在可放置区域下方并拖动整个项目
- laravel - Laravel Auth,注册后将用户凭据传递给通知类
- python - 如何以编程方式将插件挂钩注入运行 pytest 的单元测试模块
- c++ - DrawText C++ 的 D3D9 滚动
- node.js - 如何调试 Apollo GraphQL 服务器上的内存泄漏?
- javascript - 使用Javascript在数组中嵌套对象值的总和
- typescript - 如何忽略 Typescript 中路径中的错误(排除不起作用)?
- angular - 我需要带有 ChangeDetectionStrategy.OnPush 的管道吗