执行python manage.py collectstatic
后,我发现我可以访问static/css
中的所有内容,但不能访问static/admin
中的所有内容。要非常清楚:
static/admin
手动移至static/css
注意URLS中从 / static / admin / css / 到 / static / css / admin / css / 的更改。这意味着这不能解决问题,因为模板继续指向第一个URL。
我知道,提供静态管理文件已经在stackoverflow中被问过100次,但我仍然无法使其工作(我并不是唯一一个我读过的评论)。似乎没有人提到访问static/css
文件夹和static/anyother_folder
的奇怪问题。
一些额外的细节:
collectstatic
没有错误,应用程序css没有问题。这就是我在settings.py
)中的内容:
MEDIA_ROOT = join(PROJECT_ROOT,'../media')
MEDIA_URL = '/media/'
STATIC_ROOT = join(PROJECT_ROOT,'../static')
STATIC_URL = '/static/'
我也尝试了已弃用的 ADMIN_MEDIA_PREFIX
而没有任何结果。
ADMIN_MEDIA_PREFIX = '/static/admin/'
我的nginx配置简单明了。
location /static {
alias /home/the_home/where_the_static_is/static/;
}
location /media {
alias /home/the_home/where_the_media_is/media/;
}
我使用的是最新版本的Django(1.4.2)。
答案 0 :(得分:1)
粉扑。所以,在这里。我在nginx中有另一个文件夹,将/ static / admin /重定向到虚拟环境中的Django安装。在组织中,我们使用预先配置Django项目的虚拟机模板。所以,重新访问nginx配置我发现了这个:
location /static/admin {
alias /path/to/virtualenvs/my_virtualenv/path_to_the_static_admin;
}
显然这适用于Django 1.3,但路径在某些时候发生了变化。