Django PermissionRequiredMixin-返回404错误而不是403

时间:2020-07-22 15:37:16

标签: django django-views authorization

在基于类的视图中使用PermissionRequiredMixin时,我试图返回404而不是403,我不希望用户看到403,因为这意味着URL存在

<?php 
  $category_ids = get_all_category_ids(); 
  $current_category = get_category( get_query_var( 'cat' ) );
  $cat_id = $current_category->cat_ID;
        
  $args = array(
          'orderby' => 'slug',
          'parent' => $cat_id
  );
  $categories = get_categories( $args );
  foreach ( $categories as $category ) {
       echo '<div><h3 class="title">' . $category->name . '</h3><div class="text">' . $category->description . '</div><div class="ink"><a href="' . get_category_link( $category->term_id ) . '">Read more</a></div></div>';
   }
?>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

一种方法是定制403模板

project / urls.py

handler403 = 'your_app.views.handler403'

现在在403视图中,您可以呈现404模板。

def handler403 (request, *args, **kwargs):
     return render(request, '404.html')