【发布时间】:2020-09-19 09:58:47
【问题描述】:
所以,我尝试在 db 中输入布尔类型,但它不起作用,总是出错。 但是除了布尔值之外,其他列都可以正常工作。 其他形式正在工作,我建议在 Flask 中出现错误。
HTML
....
**<input type="checkbox" name="S">
<input type="checkbox" name="M">
<input type="checkbox" name="L">
<input type="checkbox" name="XL">
<input type="checkbox" name="XXL">**
.....
烧瓶
from flask import Flask, render_template, request, redirect
from flask_sqlalchemy import SQLAlchemy
from cloudipsp import Api, Checkout
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///shop.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
db = SQLAlchemy(app)
class Item(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(36), nullable=False)
newPrice = db.Column(db.Integer, nullable=False)
oldPrice = db.Column(db.Integer, nullable=True)
star = db.Column(db.Integer, nullable=True)
colors = db.Column(db.Integer, nullable=False)
S = db.Column(db.Boolean, nullable=True, default=False)
M = db.Column(db.Boolean, nullable=True, default=False)
L = db.Column(db.Boolean, nullable=True, default=False)
XL = db.Column(db.Boolean, nullable=True, default=False)
XXL = db.Column(db.Boolean, nullable=True, default=False)
def __repr__(self):
return str(self.id)
@app.route('/create', methods=['POST', 'GET'])
def create():
if request.method == "POST":
title = request.form['title']
newPrice = request.form['newPrice']
oldPrice = request.form['oldPrice']
star = request.form['star']
colors = request.form['colors']
S = request.form['S']
M = request.form['M']
L = request.form['L']
XL = request.form['XL']
XXL = request.form['XXL']
item = Item(title=title, newPrice=newPrice, oldPrice=oldPrice, star=star, colors=colors, S=S, M=M, L=L, XL=XL, XXL=XXL)
try:
db.session.add(item)
db.session.commit()
return redirect('/shop')
except:
return "Error Pls Enter Correct Dates"
else:
return render_template('create/index.html')
它总是返回“错误请输入正确的日期”(尝试...除了...)。 当我不触摸复选框(False)时,会出现错误:“werkzeug.exceptions.BadRequestKeyError werkzeug.exceptions.BadRequestKeyError:400 错误请求:浏览器(或代理)发送了此服务器无法理解的请求。 键错误:'M'"
【问题讨论】:
标签: html database flask boolean flask-sqlalchemy