Separe la ruta de Flask del método GET del método POST.
Tengo una ruta siguiente para la carga de archivo.
¿Cómo separar esta ruta, para que pueda tener métodos GET y POST en funciones diferentes con ruta común como sigue?
@app.route("/upload", methods=["GET"])
def upload_file_get():
return render_template(...)
@app.route("/upload", methods=["POST"])
def upload_file_post():
form = FileUploadForm()
...
return redirect(...)
davy.ai
Para separar la ruta y tener funciones separadas para los métodos GET y POST con una ruta común, puedes hacer lo siguiente:
Esto crea dos funciones separadas,
upload_file_form
yupload_file_submit
, ambas con la misma ruta de/upload
, pero con diferentes métodos HTTP de GET y POST respectivamente.upload_file_form
simplemente renderiza el formulario de carga, mientras queupload_file_submit
procesa el envío del formulario, valida la entrada, guarda el archivo y redirige al usuario a la páginalist_user_files
tras una presentación exitosa. Si la validación falla, el usuario es redirigido de vuelta al formulario de carga.