我觉得有点尴尬问一个以前已经回答的问题 - 但是我觉得有一个关于节点提供静态文件而不是django的问题。由webpack捆绑并由节点提供服务的css没有任何问题,我遇到的问题是使用get_static_prefix修饰器提供管理员css和其他几个文件。Django React Nginx提供管理静态文件
文件结构如下:
root
|
public
- templates
- static
| <-- collectstatic adding files here
- vendor
|
server
- app1
- app2
| settings.py
的/ etc/nginx的/网站可用/项目
server {
listen xxx.xxx.xxx.xxx:8000;
server_name xxx.xxx.xxx.xxx;
location /static {
alias /root/se/env/public/static/;
}
}
,并在settings.py
STATIC_URL = '/root/se/env/public/static/'
MEDIA_URL = '/media/'
STATIC_ONLY_URL = '/static_only/'
if not DEBUG:
MEDIA = '/media',
STATIC_ROOT = '/root/se/env/public/static/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'public', 'media')
STATICFILES_DIRS = '/root/se/env/public/vendor/static/',
我的设置现在已经有一段时间了。我对Django相当陌生,并没有真正了解它是如何工作的。从我能理解的STATICFILES_DIRS是collectstatic收集静态文件的地方,STATIC_ROOT是静态文件在collectstatic运行后转储的地方。我认为STATIC_URL是我要去的地方 - 但我没有太多的运气来搞清楚它。
因为它站在管理员的CSS无法正常工作时DEBUG = True现在无论如何,所以我错误配置了一些东西。它导致:
Not Found: /static/admin/css/base.css
您是否尝试将STATIC_URL更改为“/ static /”?还可以尝试将nginx位置/静态更改为/ static /。 –
@Kamal - 感谢您的回复。我已经尝试过,但仍然没有得到。我已经用更多的信息更新了这个问题。 – monkeyman