django中如何直接返回一个404页面?


系统需要做权限控制,对于没有权限的用户,想直接返回404页面。请问如何编写?

404 django 404页面

koveas. 10 years, 4 months ago

你可以使用几种方法来返回一个404页面,最容易的方法就是raise一个exception,如下:

from django.http import Http404  

def myView(request, param):  
  if not param:  
    raise Http404  

   return render_to_response('myView.html')

你也可以在template里面添加一个404.html文件,这样django就可以直接使用它,来展现给用户。

如果你想使用更高级的方法,那么可以这样做:

from django.http import HttpResponseNotFound  

def myView(request, param):  
  if not param:  
    return HttpResponseNotFound('<h1>No Page Here</h1>')  

  return render_to_response('myView.html')

缺省情况下,如果一个url不在url.py里面,并且设置里面DEBUG=False,那么django就会直接把用户转向到404页面。

zetsubo answered 10 years, 4 months ago

Your Answer