【发布时间】:2020-12-03 23:33:14
【问题描述】:
我正在使用 Flask 运行这个网站。当我运行脚本时,会出现初始站点 (index.html),一切似乎都很好。但是,当我点击页面底部的提交时,我遇到了这个错误“在服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。”
你能帮我找出问题吗? 主应用的代码如下。
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
ENV = 'dev'
if ENV =='dev':
app.debug = True
app.config['SQLALCHEMY_DATABASEU_URI'] = 'postgresql://postgres:postgres@localhost/Jeopardy'
else:
app.debug = False
app.config['SQLALCHEMY_DATABASEU_URI'] = ''
#sapp.config.from_object(os.environ['APP_SETTINGS'])
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db=SQLAlchemy(app)
class Jeo(db.Model):
__tablename__ = 'allc'
number = db.Column(db.Integer, primary_key=True)
category = db.Column(db.String())
question = db.Column(db.String())
answer = db.Column(db.String())
def __init(self,category,question,answer,number):
self.category = category
self.question = question
self.answer = answer
self.number = number
@app.route('/')
def index():
return render_template("index.html")
@app.route("/add")
def add():
category=request.args.get('category')
question=request.args.get('question')
answer=request.args.get('answer')
number=request.args.get('number')
try:
allc=Jeo(
category = category,
question = question,
answer = answer,
number = number
)
db.session.add(allc)
db.session.commit()
return " added. "
except Exception as e:
return(str(e))
@app.route("/add/form",methods=['GET', 'POST'])
def add_form():
if request.method == 'POST':
category=request.get('category')
question=request.get('question')
answer=request.get('answer')
number=request.get('number')
try:
allc=Jeo(
category = category,
question = question,
answer = answer,
number = number
)
db.session.add(allc)
db.session.commit()
return ("added. ")
except Exception as e:
return(str(e))
return render_template('index.html')
if __name__ == '__main__':
app.run()
而代码index.html代码为:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device=width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="../static/style.css">
<title>Jeopardy</title>
</head>
<body>
<div class="="container">
<img src="../static/logo.png" alt="Jeopardy" class ="logo">
<!-- @todo - message-->
<form action = "/submit" methods="POST">
<div class = " form-group">
<h3>Jeopardy Question</h3>
<input
type = "text"
name = "Question"
placeholder= "Type the Jeopardy question here"
/>
</div>
<div class = " form-group">
<h3>Jeopardy Answer</h3>
<input
type = "text"
name = "Answer"
placeholder= "Type the Jeopardy Answer here"
/>
</div>
</form>
</div>
</body>
</html>
【问题讨论】:
标签: python postgresql flask sqlalchemy flask-sqlalchemy