1
resposta

url_for()

quando eu uso o url_for('static') sem utilizar o filename ,a maquina pega qualquer coisa que estiver dentro do arquivo static?

1 resposta

Olá Renan

Não, o Flask não carrega automaticamente qualquer coisa da pasta static.

Quando você usaurl_for('static')sem o parâmetro filename, ele apenas gera a URL base da pasta static, sem apontar para um arquivo específico.

Por exemplo:

from flask import Flask, url_for

app = Flask(__name__)

with app.test_request_context():
    print(url_for('static'))  # Retorna: /static/
    print(url_for('static', filename='css/style.css'))  # Retorna: /static/css/style.css

O que acontece?

  • url_for('static'): retorna apenas /static/, mas não carrega arquivos.
  • url_for('static', filename='css/style.css'): retorna /static/css/style.css, que pode ser usado em HTML para carregar o arquivo CSS.

Se você quiser acessar um arquivo específico dentro da pasta static, precisa passar o filename no url_for. Caso contrário, a URL gerada não aponta para nenhum arquivo válido.