Django 开发服务器在登录 admin 后停止



我已经在python 3.7中安装了django 3.0,并开始了一个基本的django项目。我创建了一个超级用户并使用python manage.py runserver运行开发服务器。当我转到localhost:8000/admin时,它会在我输入凭据后向我显示要登录的 UI,它会重定向回localhost:8000/admin但此时服务器停止运行,控制台上没有任何错误。

我在日志文件中看到的最后一条消息是

(0.002) SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > '2019-12-11T08:52:16.929697+00:00'::timestamptz AND "django_session"."session_key" = 'tqpcf2gv6iqatc42pdmz6zdjpy7iri37') LIMIT 21; args=(datetime.datetime(2019, 12, 11, 8, 52, 16, 929697, tzinfo=<UTC>), 'tqpcf2gv6iqatc42pdmz6zdjpy7iri37')
(0.002) SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 1 LIMIT 21; args=(1,)

有人遇到过这个问题吗?解决方案是什么?

编辑:我发现有人在reddit中遇到同样的问题,看起来像这是django中的一个错误

卸载 django 然后安装 django 2.2.8pip install "django>=2.2,<3"有所帮助。

检查你的python版本。对于 Django 3.0,它应该是 3.8+。当我使用 python 3.7 时,我遇到了同样的问题。

要么尝试升级到python 3.8,要么降级到Django 2.2。升级到Python 3.8对我很有用。另外,不要忘记将 Python 3.8 的路径和 pip 的 path 添加到系统的环境变量中,否则,它将继续使用 pip 3.7 的路径。

Django 版本 3.0.1 没有帮助。 但我找到了一种在不使服务器崩溃的情况下访问管理站点的方法。 登录到管理站点中的主页或应用程序主页会停止服务器。 但您可以像这样登录 URL: http://127.0.0.1:8000/admin/YourAppsName/YourModelsName/

但仍然转到应用程序主页会使服务器崩溃。

最新更新