Home > Enterprise >  Static files not loading for deployed django rest framework
Static files not loading for deployed django rest framework

Time:03-16

I have built and successfully deployed a django rest framework using gunicorn and nginx on Ubuntu 18.04. However, the static files are not being pulled up. Django web app without loaded static files

Here is my nginx configuration:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        server_name [my_server_domain_or_IP];

        #root /var/www/html;
        location = /favicon.ico { access_log off; log_not_found off; }
        location = /static/ {
                root /home/ubuntu/myprojectdir;
        }

        location / {
                include proxy_params;
                proxy_pass http://unix:/run/gunicorn.sock;
        }
}

And in my settings.py file:

STATIC_URL = '/static/'
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

I have checked that DEBUG is set to False. I have also already run collectstatic and the static files are located in a folder called static in: /home/ubuntu/myprojectdir/static.

Every change I tried to make in the nginx configuration, I restarted nginx with the following command: sudo systemctl restart nginx.

I mainly followed this tutorial, the only difference is that I edited the default nginx configuration instead of creating a new one because it wasn't deploying my django application this way.

I can't seem to figure out what's wrong and have been trying to solve it for days. Am I missing something here?

CodePudding user response:

You don't need equals sign here:

location = /static/ {
            root /home/ubuntu/myprojectdir;
    }

Instead try this:

location /static/ {
            root /home/ubuntu/myprojectdir;
    }
  • Related