30/09/2018, 18:20
Làm sao để tạo nhiều static file folder và truy xuất các file tĩnh trong Django?
Mình có một câu hỏi đó là: Mình mới dùng Django, tuy nhiên mình muốn tạo nhiều app và trong mỗi thư mục của app mình sẽ tạo một thư mục static để cho các file như css, image vào trong đó.
Tuy nhiên vấn đề là mình không thể truy xuất được các file này
Cấu trúc thư mục như sau:
|-- manage.py
|-- other_app
| |-- __init__.py
| |-- models.py
| |-- static
| | `-- other_app
| | `-- styles.css
| |-- tests.py
| |-- urls.py
| `-- views.py
|-- project_static
| `-- base.css
|-- some_app
| |-- __init__.py
| |-- models.py
| |-- static
| | `-- some_app
| | `-- styles.css
| |-- tests.py
| |-- urls.py
| `-- views.py
|-- templates
| |-- other_app
| | `-- home.html
| `-- some_app
| `-- home.html
`-- test_project
|-- __init__.py
|-- settings.py
|-- urls.py
`-- wsgi.py
Làm sao để truy xuất URL trực tiếp của từng app ?
Bài liên quan
Vậy tại sao trong thư mục static bạn không phân thành nhiều thư mục static_app1 , static_app2 .
Hoặc xem lại việc config file settings.py nhé tai STATICFILE_DIRS
Nhiều khi mình muốn làm thế
STATICFILES_DIRS = (
os.path.join(PROJECT_PATH, ‘project_static’),
(‘my_app’, os.path.join(PROJECT_PATH, ‘my_app’, ‘static’)),
(‘another_app’, os.path.join(PROJECT_PATH, ‘another_app’, ‘static’)),
…
)
STATICFILES_FINDERS = (
‘django.contrib.staticfiles.finders.FileSystemFinder’,
)
Ví dụ đó .
Cám ơn bạn nhiều nhé
bác đang học django bằng sách hay tài liệu nào có thể share cho mình dc ko ?
Mình cũng có vài cuốn nhưng muốn có để tham khảo thêm
Bạn nên lên trang chủ của nó học 6 bài đó rồi kiếm bài tập làm làm cho dễ hiểu . Django treen github chia sẻ code rất nhiều clone 1 bài vê làm coi viêc config , setup môi trường , các gói hay dùng , viêvj test người ta hay dùng các gói nao . Rồi tiếp đến việc thiết kế models như thế nào tốt nhất để việc queryset trên django tốt nhất. Và tất nhiên còn rất nhiều thứ nưa
Mình đang học thông qua document thôi vì django ra nhiều bản mới lắm nên cũng ko có nhiều sách đâu.
Cám ơn bạn nhiều . Sau khi tìm hiểu document thì mình thấy Django ở phiên bản 1.8 sẽ tìm tất cả các thư mục static, bắt đầu ưu tiên thư mục static ở thư mục project và nó sẽ tìm vào các thư mục static ở bên trong từng app. Vì vậy trong qua trình code các thư mục này nên được đặt tên khác nhau, và các file cũng nên được đặt tên khác nhau nếu không các file static trong thư mục app sẽ không truy xuất được do nó đã được tìm thấy tên trùng ở thư mục static ở ngoài