Home > database >  Flask Error Not Found URL On server custom Form System
Flask Error Not Found URL On server custom Form System

Time:03-22

Hey im making a program in flask that lets users fill out a form and then it will email that form to a specific email. It was working perfectly fine before but for some reason now it is not. Here is my code:

@app.route('/application', methods=['POST', 'GET'])
def application():
    if request.method == 'POST':
        name = request.form["name"]
        github = request.form["github"]
        age = request.form["age"]
        location = request.form["location"]
        email = request.form["email"]
        discord = request.form["discord"]

        return redirect(f"/final/{name}/{github}/{age}/{location}/{email}/{discord}/")

@app.route('/final/<name>/<github>/<age>/<location>/<email>/<discord>/', methods=['GET','POST'])
def final(name, github, age, location, email, discord):
    mail= Mail(app)

    app.config['MAIL_SERVER']='smtp.gmail.com'
    app.config['MAIL_PORT'] = 465
    app.config['MAIL_USERNAME'] = '[email protected]'
    app.config['MAIL_PASSWORD'] = '*******'
    app.config['MAIL_USE_TLS'] = False
    app.config['MAIL_USE_SSL'] = True
    b = Markup(f"Name: {name}\r\nGithub: {github}\r\nAge: {age}\r\nlocation: {location}\r\nemail: {email}\r\ndiscord: {discord}")
    msg = Message(f'Application {name}', sender = '[email protected]', recipients = [email])
    msg.body = b
    mail.send(msg)
    return render_template("final.html" )

HTML TEMPLATE

  <form action="/application" method="POST">
            <p><input type = "text" name="name" placeholder="First And Last Name" /></p>
            <br><br>
            <p><input type = "text" name="github" placeholder="GitHub Profile Link" /></p>
            <br><br>
            <p><input type = "text" name="age" placeholder="Age" /></p>
            <br><br>
            <p><input type = "text" name="location" placeholder="State/Country" /></p>
            <br><br>
            <p><input type = "text" name="email" placeholder="Email" /></p>
            <br><br>
            <p><input type = "text"  name="discord" placeholder="Discord username and tag(if you have one)" /></p>
            <p><input type="submit"  value="Submit" /></p>
        </form>

I get no errors all it says is that the the requested url wasnt found on the server

CodePudding user response:

So i found an answer. So flask doesnt allow specifc links such as https://github.com/codingdudepy to be returned as a redirect url. Nor does it allow things like #, or domains like .com for some reason. When i removed these things it worked perfectly.

  • Related