【发布时间】:2020-12-09 18:08:47
【问题描述】:
我想用flask创建一个网站,里面有一个表格,里面有用户用html表单放在那里的链接。
from flask import Flask, render_template, request, redirect
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///home.db'
db = SQLAlchemy(app)
class links(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(30), nullable=True)
title = db.Column(db.String(30), nullable=False)
link = db.Column(db.String(200), nullable=False)
date_added = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
def __repr__(self):
return f'<link {self.id}>'
@app.route('/home', methods=['GET', 'POST'])
def home ():
if request.method == 'POST':
link_name = request.form["name"]
link_title = request.form["title"]
link_link = request.form["link"]
new_link = links(name=link_name, title=link_title, link=link_link)
try:
db.session.add(new_link)
db.session.commit()
return redirect('/home')
except:
return 'there was a problem'
else:
li = links.query.order_by(links.date_added).all()
return render_template('home.html', li=li)
if __name__ == "__main__":
app.run(debug=True)
我不断收到此错误消息,
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) 没有这样的列:links.name
它说它在这一行:
li = links.query.order_by(links.date_added).all()
我在互联网上做了一些研究,但我没有找到任何东西...... 我该如何解决这个问题?
【问题讨论】:
-
检查我的答案