Tôi có một câu hỏi chung về khung công tác tĩnh mới của Django 1.3.django staticfiles tại url root
Tôi thực sự thích chức năng tĩnh mới Django được giới thiệu trong Django 1.3. Thông thường, tôi đặt STATIC_URL = "/ static /" và nhập thẻ mẫu {{STATIC_URL}} vào mẫu của tôi. Thật tuyệt vời khi máy chủ phát triển tự động phục vụ các tệp tĩnh và tất cả nội dung của tôi được phân phối như mong đợi như thế nào.
The {{ STATIC_URL }} would be substituted in the template and might serve up files like this...
example.com/static/css/master.css
example.com/static/images/logo.png
example.com/static/js/site.js
Tuy nhiên, tôi đang làm việc với trang web kế thừa nơi phương tiện tĩnh được gắn ở gốc url. Ví dụ, đường dẫn đến các url tĩnh có thể trông như thế này:
example.com/css/master.css
example.com/images/logo.png
example.com/js/site.js
Nó không sử dụng "tĩnh" namespace url. Tôi đã tự hỏi nếu có một cách để có được chức năng tĩnh mới không sử dụng không gian tên tĩnh và phục vụ các url ở trên, nhưng vẫn giữ lại các lợi ích của khung công tác tĩnh mới (tập tin tĩnh, thu thập được phục vụ bởi máy chủ phát triển, v.v.) Tôi đã thử đặt STATIC_URL = "" và STATIC_URL = "/", nhưng dường như không có hiệu quả mong muốn.
Có cách nào để định cấu hình các tệp tĩnh để phân phối tệp tĩnh mà không có vùng tên không? Cảm ơn bạn đã xem xét.
Cảm ơn jdi. Trong các mẫu, tôi vẫn còn {{STATIC_ROOT}} hoặc chỉ để nó là/css /,/images /,/js/....? –
Nó sẽ không còn là một phần của ứng dụng tĩnh, vì nó không thể được thu thập thông qua "python manage.py collectstatic'. Bạn sẽ chỉ sử dụng các url đơn giản như thế: '/ css/foo.css'. Chúng đang được phân phối rõ ràng từ các vị trí riêng lẻ. Họ thậm chí có thể tồn tại bên ngoài không gian dự án django. – jdi
document_root không nên bắt đầu bằng '/', bạn phải chỉ định thư mục gốc của dự án django của bạn, ví dụ: 'urlpatterns + = static ('/ css /', document_root = 'app_root/path/to/css /') ' –