如何使用类基视图来指定Django自定义404视图?

2024-10-01 11:21:53 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Django,您可以通过在根urls.py中执行以下操作来覆盖默认的404页:

handler404 = 'path.to.views.custom404'

在使用基于类的视图时如何做到这一点?我想不通,文件上也没说什么。在

我试过:

^{pr2}$

Tags: 文件topathdjangopy视图urlsviews
3条回答

在主urls.py中,您只需添加from app_name.views import Custom404 然后设置handler404 = Custom404.as_view()。 它应该有用

没关系,我忘了试试这个:

from path.to.view import Custom404
handler404 = Custom404.as_view()

现在看来很简单,可能不值得对StackOverflow提出问题。在

通过在我的自定义404 CBV中使用以下代码(在其他StackOverflow post上找到它:Django handler500 as a Class Based View

from django.views.generic import TemplateView


class NotFoundView(TemplateView):
    template_name = "errors/404.html"

    @classmethod
    def get_rendered_view(cls):
        as_view_fn = cls.as_view()

        def view_fn(request):
            response = as_view_fn(request)
            # this is what was missing before
            response.render()
            return response

        return view_fn

在我的根URLConf文件中,我有以下内容:

^{pr2}$

相关问题 更多 >