我覺得有點尷尬問一個以前已經回答的問題 - 但是我覺得有一個關於節點提供靜態文件而不是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