从Nginx提供静态内容,但在Django中处理错误页面

我的静态和媒体文件由Nginx提供,其他请求由Django提供。

我有一个由Django提供的自定义404页面。 由于Nginx正在处理静态内容,因此任何对/ static / *的请求都会被Nginx处理。 我可以在Nginx中设置静态自定义404页面,但是我想让Django处理任何404页面。

是否有可能从Nginx提供静态内容,但在404的情况下,请求被转发到Django?

假设你已经定义了你的django代理通行证

upstream django_server { server 127.0.0.1:8000; } 

那么你可以做到这一点

 location /static/ { try_files $uri @django; .... } location @django { proxy_pass django_server; }