繁体   English   中英

Not Found 在服务器上找不到请求的 URL。 如果您输入了 URL... Flask 重定向不起作用

[英]Not Found The requested URL was not found on the server. If you entered the URL… Flask redirection from not working

我正在尝试使用 html、Javascript、python、Flask 和 MySQL 创建一个 web 端。 但是,在尝试在线学习教程时遇到了麻烦。 尝试从 html 索引页面处理表单时会出现问题。 我的应用

from flask import Flask, render_template, flash, request, url_for, redirect
from flask_mysqldb import MySQL
from datetime import datetime
import yaml
import smtplib
app = Flask(__name__)

db = yaml.load(open('db.yaml'))
app.config['MYSQL_HOST'] = ''
app.config['MYSQL_USER'] = ''
app.config['MYSQL_PASSWORD'] = ''
app.config['MYSQL_DB'] = ''

@app.route('/')
def home():
    title = "Cheam Squash Ladders"
    return render_template("index.html", title=title)

@app.route('/sigin', methods=["POST"])
def form():
    user = request.form.get("user")
    password = request.form.get("password")
    return render_template("signin.html", title=title)

    user1 = request.form.get("user1")
    email = request.form.get("email")
    password1 = request.form.get("password1")
    confirm_email = request.form.get("confirm")
    return render_template("register.html")


@app.route('/register', methods=['POST'])
def register():
    return render_template("register.html")

if __name__ == '__main__':
    app.run()

输入表单信息后,以标题中的错误信息结束。 我在文件夹“MyNewFlaskApp”中运行我的虚拟环境,该文件夹包含一个“模板”文件夹和一个“静态”文件夹,我已经从虚拟环境文件夹内部和外部运行了 app.py 但没有任何效果。 所有包含 html(模板)和静态的文件夹都在 env 之外。 我想知道是否是这个问题。 我现在搜索了好几天没有任何运气。 另外,我在带有 Catalina 的 Mac 上运行 Python3。 希望任何人都可以提供帮助。 提前致谢

 <script> var x = document.getElementById("Signin"); var y = document.getElementById("register"); var z = document.getElementById("btn"); function register(){ x.style.left = "-400px"; y.style.left = "50px"; z.style.left = "110px"; } function Signin(){ x.style.left = "50px"; y.style.left = "450px"; z.style.left = "0px"; } </script>
 <form id="Signin" class="Signin-group" action="/signin" method="POST"> <input id="username" type="text" class="input-field" placeholder="User Id" name="user" required> <input id="password" type="password" class="input-field" placeholder="Enter password" name="password" required> <input type="checkbox" class="check-box"><span>Remember password</span> <button type="submit" class="submit-btn" onclick="login()">Sign In</button> </form> <form id="register" class="register-group" action="/register" method="POST"> <input id="newUser" type="text" class="input-field" placeholder="User Id" name="user1" required> <input id="newEmail" type="text" class="input-field" placeholder="Email" name="email" required> <input id="newPassword" type="password" class="input-field" placeholder="Password" name="password1" required> <input id="passwordConfirm" type="password" class="input-field" placeholder="Confirm Password" name="confirm" required> <div class="optionS"><input id="optionS" type="radio" name="sport" value="Squash" required> Squash <input id="optionS" type="radio" name="sport" value="Racquetball" required> Racquetball <br/><input type="checkbox" class="check-boxR" required><span class="checkboxR"> I agree to terms and conditions</span> </div> <button type="submit" class="submit-btn" onclick="registerUser()">Register here</button> </form>

你已经用斜杠Flask Docs注册了你的路线。

@app.route('/register/', methods=['POST'])

但是在您的表单中,您将发布到没有斜杠的 URL:

<form id="register" class="register-group" action="/register" method="POST">

您需要分别删除或添加尾部斜杠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM