Chris
Chris

Reputation: 315

Django Debug toolbar incorrectly shown with nginx

Using manage.py runserver my debug toolbar works correctly but when I use nginx my toolbar only shows "DEBUG" in the panel. I have all the static files linked correctly.

Any help would be much appreciated.

enter image description here

NGINX Conf

This is the conf for my site, which gets included into my nginx.conf

upstream polonel {
# fail_timeout=0 means we always retry an upstream even if it failed
# to return a good HTTP response (in case the Unicorn master nukes a
# single worker for timing out).

server unix:/home/chris/webapps/pyPolonel/run/gunicorn.sock fail_timeout=0;
}

server {

listen   80;enter code here
server_name localhost;

client_max_body_size 4G;

access_log /home/chris/webapps/pyPolonel/logs/nginx-access.log;
error_log /home/chris/webapps/pyPolonel/logs/nginx-error.log;

location /static/ {
    alias   /home/chris/webapps/pyPolonel/static/;
}

location /media/ {
    alias   /home/chris/webapps/pyPolonel/Polonel/media/;
}

location / {
    # an HTTP header important enough to have its own Wikipedia entry:
    #   http://en.wikipedia.org/wiki/X-Forwarded-For
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # enable this if and only if you use HTTPS, this helps Rack
    # set the proper protocol for doing redirects:
    # proxy_set_header X-Forwarded-Proto https;

    # pass the Host: header from the client right along so redirects
    # can be set properly within the Rack application
    proxy_set_header Host $http_host;

    # we don't want nginx trying to do something clever with
    # redirects, we set the Host: header above already.
    proxy_redirect off;

    # set "proxy_buffering off" *only* for Rainbows! when doing
    # Comet/long-poll stuff.  It's also safe to set if you're
    # using only serving fast clients with Unicorn + nginx.
    # Otherwise you _want_ nginx to buffer responses to slow
    # clients, really.
    # proxy_buffering off;

    # Try to serve static files from nginx, no point in making an
    # *application* server like Unicorn/Rainbows! serve static files.
    if (!-f $request_filename) {
        proxy_pass http://polonel;
        break;
    }
}

# Error pages
error_page 500 502 503 504 /500.html;
location = /500.html {
    root /home/chris/webapps/pyPolonel/Polonel/static/;
}
}

Upvotes: 1

Views: 1221

Answers (1)

Vladimir Lagunov
Vladimir Lagunov

Reputation: 1905

Probably debug-toolbar's files aren't copied to /home/chris/webapps/pyPolonel/static/.

Don't you forget to call manage.py collectstatic? If you don't know what is it, read about staticfiles app.

In delopment machine you can remove your location /static/ and location /media/ from configuration: when settings.DEBUG == True Django's runserver will serve static files.

In production always use staticfiles.

Upvotes: 1

Related Questions