He visto muchas publicaciones similares, pero nada ha podido hacer el truco para mí. El navegador me arroja este tipo de error para todos mis archivos css cuando cargo mi estática. Cuando recopilo estática, funciona bien y, además, cuando ejecuto findstatic, me indica el directorio correcto. Así que estoy un poco perdido en lo que está pasando porque mis archivos estáticos parecen estar donde deberían estar, pero nginx no puede encontrarlos, aunque la ruta hacia ellos es la correcta.
GET https://www.exostock.net/staticfiles/vendor/font-awesome/css/font-awesome.min.css net::ERR_ABORTED 404 (Not Found)y
Home:136 GET https://www.exostock.net/staticfiles/img/logo8.png 404 (Not Found)a partir de la información que leí y las documentaciones de django + nginx, no puedo detectar dónde estoy cometiendo un error. He estado en él durante unos días y espero que alguien pueda ver lo que yo no puedo.
nginx/sitios-disponibles/app.conf
server { server_name exostock.net www.exostock.net; location / { include proxy_params; proxy_pass http://unix:/home/ubuntu/exostocksaas/app.sock; } location /static/ { alias /home/ubuntu/exostocksaas/collected_static/; } location ~ \.css { add_header Content-Type text/css; } location ~ \.js { add_header Content-Type application/x-javascript; } }configuración.py en django
STATIC_URL = '/staticfiles/' # STATICFILES_FINDERS = ( # 'django.contrib.staticfiles.finders.FileSystemFinder', # ) STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'staticfiles') ] STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')y mis enlaces html a estáticas
<!-- Bootstrap CSS--> <link href="{% static 'vendor/bootstrap/css/bootstrap.min.css' %}"> <!-- Font Awesome CSS--> <link href="{% static 'vendor/font-awesome/css/font-awesome.min.css' %}"> <!-- Custom Font Icons CSS--> <link href="{% static 'css3/font.css' %}">ACTUALIZACIÓN: hice los cambios sugeridos, pero aún no funciona, cuando miro el registro de errores de nginx, muestra que la ruta a la estática es la siguiente
"/usr/share/nginx/html/staticfiles/esto está mal porque si miro dentro de la carpeta html, solo está la página html "bienvenido a nginx". La pregunta es ¿por qué nginx está buscando archivos allí? Eliminé el archivo predeterminado, pero el registro de errores sigue apuntando incluso después de reiniciar nginx, el servidor también.
Creo que tiene algunos problemas con la confusión en los nombres de ruta que ha seleccionado. Si modifica su nginx app.conf a:
server { location /static/ { root /home/ubuntu/exostocksaas; } location / { include proxy_params; } } Luego modifique su archivo settings.py para:
STATIC_URL = '/static/' # STATICFILES_FINDERS = ( # 'django.contrib.staticfiles.finders.FileSystemFinder', # ) STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'staticfiles') ] STATIC_ROOT = os.path.join(BASE_DIR, 'static')Debería comenzar a servir sus archivos estáticos correctamente. A partir de ahí, puede comenzar a realizar cambios incrementales en las rutas como desee, pero esta es la configuración estándar que tiendo a usar para mis implementaciones de Django.
STATIC_DIR = os.path.join(BASE_DIR,'static') agregue la carpeta static pero en la misma ruta donde la usa
coloque en la carpeta estática sus archivos estáticos (css, js,....), y agregue html
{% load staticfiles %}