Jak używać url_for
w Flask odniesienia do pliku w folderze? Na przykład mam kilka plików statycznych w static
folderze, z których niektóre mogą znajdować się w podfolderach, takich jak static/bootstrap
.
Kiedy próbuję obsłużyć plik z static/bootstrap
, pojawia się błąd.
<link rel=stylesheet type=text/css href="{{ url_for('static/bootstrap', filename='bootstrap.min.css') }}">
Dzięki temu mogę odwoływać się do plików, których nie ma w podfolderach, co działa.
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='bootstrap.min.css') }}">
Jaki jest właściwy sposób odwoływania się do plików statycznych url_for
? Jak url_for
generować adresy URL do plików statycznych na dowolnym poziomie?
Flask
dodaje regułę adresu URL dlastatic
punktu końcowego podczas inicjalizacji, więc zmiana tych atrybutów wFlask
instancji nie zmieniaurl_for('static', ...)
wyniku. Aby zmienić statyczny punkt końcowy po inicjalizacji, zobacz to streszczenie gist.github.com/brycepg/593ffb5ce9316d2871c7f24f9de34c24W moim przypadku miałem specjalną instrukcję do pliku konfiguracyjnego nginx:
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { try_files $uri =404; }
Wszyscy klienci otrzymali „404”, ponieważ nginx nic nie wie o Flask.
Mam nadzieję, że to komuś pomoże.
źródło