将静态文件移动到另一个目录后,不加载。
我的 settings.py 如下所示:
DATA_DIR = os.path.dirname(os.path.dirname(__file__))
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(DATA_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'src', 'static'),
)
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder"
)
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
...
)
我想要放在virtualenv的根目录中的所有静态。有文件夹
src(root_dir)-->media /* uploaded media */
-->static /* for css, js etc*/
-->project_y /*web-page*/
-->templates /*html templates */
奇怪的是(对我而言)模板和媒体通常从该目录中运行。我已经这样放了他们:
MEDIA_URL = '/media/'
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'
)
如何重新定位静态的任何想法?
答案 0 :(得分:2)
对于静态文件,您必须collectstatic
python manage.py collectstatic
将从所有STATICFILES_DIRS
收集文件并将其放在STATIC_ROOT
内。只有在此之后,才能访问静态文件