1
resposta

Não funcionaria com o url_for?

Não poderíamos usar o url_for ao invés do código usado?:

arquivo.save(f'{upload_path}/{arquivo.filename}')
1 resposta

Oii Janderson, como você está?

Peço desculpas pela demora em obter um retorno.

Nesse caso não seria possível o uso do url_for porque o url_for é responsável por redirecionar para uma função específica, que na maioria das vezes programa alguma rota do nosso sistema. Já no código: arquivo.save(f'{upload_path}/{arquivo.filename}') queremos salvar o arquivo em nossa máquina, sendo assim, utilizamos o método save, que recebe como parâmetro o endereço da pasta que queremos salvar o arquivo.

Um exemplo de uso do url_for:

from flask import Flask, redirect, url_for

app = Flask(__name__)

@app.route('/inicio')
def home():
    return '<h1>Olá!</h1>'

@app.route('/login')
def login():
    return redirect(url_for('home'))

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

No código acima, ao acessarmos a url http://localhost:5000/login estamos redirecionando para a rota \inicio ao passarmos como parâmetro para o url_for o nome da função home que programa internamente a rota \inicio.

Qualquer dúvida estou a disposição.

Abraços e bons estudos!