Não poderíamos usar o url_for ao invés do código usado?:
arquivo.save(f'{upload_path}/{arquivo.filename}')
Não poderíamos usar o url_for ao invés do código usado?:
arquivo.save(f'{upload_path}/{arquivo.filename}')
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!