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 ?

Phạm Chương viết 20:35 ngày 30/09/2018

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

Quan viết 20:20 ngày 30/09/2018

Nhiều khi mình muốn làm thế

Phạm Chương viết 20:21 ngày 30/09/2018

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ụ đó .

Quan viết 20:20 ngày 30/09/2018

Cám ơn bạn nhiều nhé

minh tran viết 20:26 ngày 30/09/2018

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

Phạm Chương viết 20:28 ngày 30/09/2018

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

Quan viết 20:25 ngày 30/09/2018

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.

Quan viết 20:33 ngày 30/09/2018

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

Bài liên quan
0