【发布时间】:2021-12-17 11:59:34
【问题描述】:
我在 python 中使用 SQLAlchemy 数据库,当我用文本文件打开时,数据库中的字符被编码并且无法理解。有谁知道我是否使数据库文件字符可读?任何答案都会得到认可。
这是我的编码数据库
SQLite format 3@ %%.O}
\\Å!Ç%tablepostpostCREATE TABLE post (
id INTEGER NOT NULL,
title VARCHAR(30) NOT NULL,
detail VARCHAR(100),
due DATETIME NOT NULL,
PRIMARY KEY (id)
)
@œ
œÕñœîU°?++A„ÅÇ„ÅÑ„ÅÜ„Åà„Åä„Åã„Åç„Åè„Åë„Åì2021-11-30 00:00:00.000000°;+#Atestings clasekasdsdasdasd2021-11-26 00:00:00.000000< -'ASADADASDAXDSACDAASDASDASDAXAE2021-11-19 00:00:00.0000001Atest45454two pills2021-11-05 00:00:00.000000VAMedicine44 meds2021-10-27 00:00:00.000000êAtesttestone pill2021-10-25 00:05%!AAndy's pillsfour pills2021-11-03 00:00:00.0000001
我希望这些文本可读
这是我的python代码
from datetime import datetime, date
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///medicine-app.db'
db = SQLAlchemy(app)
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(30), nullable=False)
detail = db.Column(db.String(100))
due = db.Column(db.DateTime, nullable=False)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'GET':
posts = Post.query.order_by(Post.due).all()
return render_template('index.html', posts=posts, today=date.today())
else:
title = request.form.get('title')
detail = request.form.get('detail')
due = request.form.get('due')
due = datetime.strptime(due, '%Y-%m-%d')
new_post = Post(title=title, detail=detail, due=due) #making a new post from create
db.session.add(new_post)
db.session.commit()
return redirect('/')
@app.route('/create')
def create():
return render_template('create.html')
@app.route('/detail/<int:id>')
def read(id):
post = Post.query.get(id)
return render_template('detail.html', post=post)
@app.route('/update/<int:id>', methods=['GET', 'POST'])
def update(id):
post = Post.query.get(id)
if request.method == 'GET':
return render_template('update.html', post=post)
#update paged
else:
post.title = request.form.get('title')
post.detail = request.form.get('detail')
request.form.get('due')
post.due = datetime.strftime, '%Y-%m-%d'
db.session.commit()
return redirect('/')
#to database
#top page
@app.route('/delete/<int:id>')
def delete(id):
post = Post.query.get(id)
db.session.delete(post)
db.session.commit()
return redirect('/')
if __name__ == '__main__':
app.run(debug=True)
我也在使用 HTML
【问题讨论】:
标签: python sqlite sqlalchemy