Saya bingung static root
dan ingin mengklarifikasi sesuatu.
Untuk melayani berkas statis dalam Django, berikut ini harus dalam settings.py
dan urls.py
:
import os
PROJECT_DIR=os.path.dirname(__file__)
1. Path absolut ke direktori tempat file statis harus dikumpulkan
STATIC_ROOT= os.path.join(PROJECT_DIR,'static_media/')
2. Awalan URL untuk file statis
STATIC_URL = '/static/'
3. Lokasi tambahan untuk file statis
STATICFILES_DIRS = ( os.path.join(PROJECT_DIR,'static/'),)
... dan di urls.py
baris berikut:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += patterns('', (
r'^static/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.STATIC_ROOT}
))
4. Kami juga menggunakan python manage.py collectstatic
Pertanyaan:
Adakah yang bisa menjelaskan alur kerja kepada saya: bagaimana seharusnya hal-hal idealnya dilakukan. Sekarang, saya menyalin / menempelkan cuplikan kode di atas ke lokasi yang ditentukan dan terus membuat file baru di direktori statis dan berhasil. Dalam saya
settings.STATIC_ROOT
, bagaimanapun, saya telah menunjuk ke direktori yang berbeda.Akan sangat bagus jika seseorang dapat menjelaskan alur kerja setiap pengaturan: bagaimana file dikumpulkan dan dikelola, dan praktik yang baik untuk diikuti.
Terima kasih.
if settings.DEBUG:
django tidak terlalu baik dalam melayani media statis, ini harus diserahkan ke server web yang sebenarnya.