如何找出为什么我的404处理程序会产生500错误?

时间:2018-09-21 00:48:46

标签: python django python-3.x

这是我的404视图:

function login_error_override()
{
    return 'Incorrect login details.';
}
add_filter('login_errors', 'login_error_override');

似乎此代码产生了500个错误,但在运行django开发服务器的终端中没有看到任何错误输出。

我必须设置def handler_404(request): response = render(request, '404.html') response.status_code = 404 return response 来查看是否将呈现我的自定义404页面,它似乎不起作用,但会产生500错误。

更新#1:

我尝试将网址添加到我的网址列表中,例如DEBUG = False,然后在浏览器中访问path('404/', my_views.my_404_view),模板加载完毕,没有错误出现。

更新#2:

我还尝试添加以下代码,以在/404设置为DEBUG时在终端中启用详细的日志输出。

False

我在终端中看到的就是这个:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {                                                                                                                                                                                                                                    'console': {
            'class': 'logging.StreamHandler',
        },                                                                                                                                                                                                                                          'file': {
           'level': 'DEBUG',
           'class': 'logging.FileHandler',
           'filename': 'log.django',
       },
    },
    'loggers': {
        'django': {
            'handlers': ['console','file'],
            'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'),
        },
    },
}

1 个答案:

答案 0 :(得分:0)

似乎我的函数未接受所需的参数:

我更改了此内容

def handler_404(request):                                                                                                                                                                                                                        

对此:

def handler_404(request, exception, template_name='404.html'):