Kafam karıştı static root
ve bazı şeyleri açıklığa kavuşturmak istiyorum.
Django'da statik dosyalar sunmak için aşağıdakiler settings.py
ve içinde olmalıdır urls.py
:
import os
PROJECT_DIR=os.path.dirname(__file__)
1. Statik dosyaların toplanması gereken dizinin mutlak yolu
STATIC_ROOT= os.path.join(PROJECT_DIR,'static_media/')
2. Statik dosyalar için URL öneki
STATIC_URL = '/static/'
3. Statik dosyalar için ek konumlar
STATICFILES_DIRS = ( os.path.join(PROJECT_DIR,'static/'),)
... ve de urls.py
aşağıdaki satırları:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += patterns('', (
r'^static/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.STATIC_ROOT}
))
4. Ayrıca kullanıyoruz python manage.py collectstatic
Sorular:
Biri bana iş akışını açıklayabilir mi: İşler ideal olarak nasıl yapılmalıdır? Şu an itibariyle, yukarıdaki kod parçacıklarını belirlenen konumlarına kopyalayıp / yapıştırıyorum ve statik dizinde yeni dosyalar oluşturmaya devam ediyorum ve çalışıyor. Benim içinde
settings.STATIC_ROOT
, ancak, farklı bir dizine işaret ettiler.Birisi her bir ortamın iş akışını açıklayabilirse harika olurdu: dosyaların nasıl toplandığı ve yönetildiği ve izlenmesi gereken iyi bir uygulama ne olurdu.
Teşekkürler.
if settings.DEBUG:
django'nun statik medyaya hizmet etmede çok iyi olmadığını ekleyerek bunu yapabilirsiniz , bu gerçek bir web sunucusuna bırakılmalıdır.