0
点赞
收藏
分享

微信扫一扫

settings里的TIME_ZONE配置导致django管理页面加载Internal Server Error

一世独秀 2022-04-05 阅读 72
django

今天踩进一个坑,挺有意思,待研究。

本机环境windows11+appache2.4+django4.0+python3.8环境

一、管理员权限进入cmd

二、进入目录执行django-admin startproject XXX

可进入前台页面和初始化后台管理页面,但是这不重要,重要的来了

三、进入项目执行 python manage.py startapp mainsite,诡异的一幕就来了

1、先说说之前的事儿吧,直接上来

常规配置两个地方:

1)#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'

2)#TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Beijing'

结果前台无问题,后台直接报Internal Server Error

我去~我当时一看第一反应,apache访问受限啊,就开始看apache,涉及到的wsgi翻了一遍并且把server目录页翻了一遍,卧槽,没问题,看后台log,卧槽,没问题,apache除了一些常规warning外没有任何问题,就是一个大大的:

[Tue Apr 05 08:07:37.393412 2022] [wsgi:error] [pid 13576:tid 1632] [client ::1:54221] Internal Server Error: /admin/login/\r, referer: http://localhost:8081/admin/login/?next=/admin/提示
我懵逼了,结果就在网上找了两天,项目测试建了3个,大脑彻底脱线了,心想,这他妈的也太奇葩了吧,全网都没有一个能让我碰上的case,我是第一个?好吧,本着不达目的不罢休的精神,继续测试。

2、再说说后来的机缘巧合

我继续建项目,第一步测试project的环节,无问题;第二步加app,mainsite,这可能是我最关键的一步了,我建完后,直接重启apache,结果惊喜来了,我发现访问后台管理页面打开正常,这简直是惊喜中的惊喜,那就是说Internal Server Error不是他妈的appache服务配置导致的,那就是settings里的配置,我分布测试了以下,卧槽,LANGUAGE_CODE = 'zh-Hans'配置完没影响,那显而易见,那就是TIME_ZONE = 'Asia/Beijing'出问题了,只好还原为#TIME_ZONE = 'UTC',再次尝试访问,成功。

三、原因分析

目前原因不明,还请各位大神指导。

举报

相关推荐

0 条评论