我static root
对事情感到困惑并想澄清一下。
要在 Django 中提供静态文件,以下内容应位于settings.py
and中urls.py
:
import os
PROJECT_DIR=os.path.dirname(__file__)
1. 应该收集静态文件的目录的绝对路径
STATIC_ROOT= os.path.join(PROJECT_DIR,'static_media/')
2.静态文件的URL前缀
STATIC_URL = '/static/'
3.静态文件的附加位置
STATICFILES_DIRS = ( os.path.join(PROJECT_DIR,'static/'),)
...并在urls.py
以下几行中:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += patterns('', (
r'^static/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.STATIC_ROOT}
))
4.我们也使用python manage.py collectstatic
问题:
谁能向我解释一下工作流程:理想情况下应该如何做。截至目前,我将上述代码片段复制/粘贴到它们指定的位置,并继续在静态目录中创建新文件,它可以工作。但是,在我
settings.STATIC_ROOT
的 中,我指向了一个不同的目录。如果有人能解释每个设置的工作流程,那就太好了:如何收集和管理文件,以及遵循什么好的做法。
谢谢。