nginx转发404给django

要设置图片缓存,所以图片都是经过nginx转的,

 location /media/ {
             expires 7d;
             add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
             alias /home/djangoproject/media/;
             break;
         }

服务器上有些图片丢失了,因为经过nginx,就会显示

404 Not Found


nginx/1.4.6 (Ubuntu)

改进,先做一个404的转发page

在项目的url中加入

urlpatterns = patterns('',
    .......
    url(r'^404page$', 'home.views.error404', name='404page'),
    .......

views中添加

def error404(request):
    return render(request, '404.html', locals())

在templates目录下写一个404.html页面

Django部分OK

然后改nginx.conf

在server下添加一行

error_page 404 = /404page;

就OK啦,

猜你喜欢

转载自wzgdavid.iteye.com/blog/2326278