URL được tạo thành từ các thư mục và tên tệp. Bất kỳ thứ gì đứng trước /
được coi là một thư mục. Bất cứ điều gì sau /
cuối cùng là tên tệp. Vấn đề của bạn là bạn đang sử dụng các URL tương đối. Khi bạn nói
static/pics/gamma.png
trình duyệt của bạn yêu cầu tệp đó liên quan đến thư mục của trang hiện tại. Trong trường hợp các URL như /
và /shop
, thư mục là /
. Trình duyệt sẽ yêu cầu /static/pics/gamma.png
.
Trong trường hợp các URL như /shop/item/1
, thư mục là /shop/item/
. Sau đó, trình duyệt của bạn sẽ yêu cầu /shop/item/static/pics/gamma.png
.
Vì URL của bạn khớp với URL cũ, bạn nên lưu trữ chúng dưới dạng URL tuyệt đối (với /
đứng đầu ) để trình duyệt sẽ đưa ra yêu cầu chính xác.
Trên một ghi chú bán liên quan, bạn nên sử dụng url_for
bất cứ khi nào có thể.
url_for('static', filename='css/home.css')