W
W
Wolf_Yout2022-03-14 21:51:31
Python
Wolf_Yout, 2022-03-14 21:51:31

How in HTML to first get the text from the input tag and then redirect using Flask?

Here is the script already in the HTML code:

<h1>Введите свой айди:</h1>
<input type="text" size="40">
<br>
<h2>Введите айди гильдии:</h2>
<input type="text" size="40">


Next, we need to pass this to the Flask code file:
@app.route("/dashboard-go/")
def dashgo(user_id, server_id):
    return render_template("dashgo.html")

@app.route("/do_dashboard")
def dodash():
    #Можете не говорить что дальше бред какой то, я лишь пытаюсь показать образец, как это должно быть
    user_id = 0 #Вместо нуля, здесь должен быть текст, введённый в "Введите свой айди"
    server_id = 0 #Вместо нуля, здесь должен быть текст, введенный в "Введите айди гильдии"
    return redirect(f"https://wbot.serega15032011.repl.co/dashboard/{user_id}/{server_id}")

If you understand my most crazy explanation, how to implement it?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
Z
Zagir Majidov, 2022-03-15
@Wolf_Yout

First you need to wrap the input's in a form tag And for the input's set the name
attribute and instead of h1/h2 it's better to specify Here's the html code:

<form action="/do_dashboard" method="post">
   <label for="">Введите свой айди:</label>
   <input name="user_id" type="text" size="40"><br>
   <label>Введите айди гильдии:</label>
   <input name="server_id" type="text" size="40">
</form>

File python code:
from flask import request # requests - для принятие данных(вроде бы)

@app.route("/do_dashboard", methods=['get', 'post']) # Методы для принятия даных. Get - обычное получение, а Post - Передача данных.
def dodash():
    if request.method == "POST":
        user_id = request.form['user_id'] # Выбераем из формы user_id
        server_id = request.form['server_id'] # Быбераем из формы server_id
        return redirect(f"https://wbot.serega15032011.repl.co/dashboard/{user_id}/{server_id}")
    else:
        return "Get запрост"

S
Sergey Gornostaev, 2022-03-14
@sergey-gornostaev

It is enough to read the quickstart section of the documentation to find out that you need to name the inputs, wrap them with a form tag, and in the form handler, extract the parameters from the request object.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question