提问人:Laurie Crean 提问时间:11/12/2023 最后编辑:Laurie Crean 更新时间:11/12/2023 访问量:32
无法访问端口上的 django-admin 面板
Cannot access django-admin panel on port
问:
期望能够访问 django 管理面板并添加社交帐户
通过向本地预览端口 URL 添加标准扩展来打开管理面板。这有望导致经典的 django 管理面板。admin/
转到管理员 URL 会导致错误消息
该网站在其他方面显示正常。
目前正在实施简单的谷歌誓言登录。
错误信息:
DoesNotExist at /admin/login/
Site matching query does not exist.
Request Method: GET
Request URL: http://8000-lmcrean-project4-avaw7dd1zq8.ws-eu106.gitpod.io/admin/login/?next=/admin/
Django Version: 3.2.23
Exception Type: DoesNotExist
Exception Value:
Site matching query does not exist.
Exception Location: /workspace/.pip-modules/lib/python3.9/site-packages/django/db/models/query.py, line 435, in get
Python Executable: /home/gitpod/.pyenv/versions/3.9.17/bin/python3
Python Version: 3.9.17
Python Path:
['/workspace/Project-4',
'/home/gitpod/.pyenv/versions/3.9.17/lib/python39.zip',
'/home/gitpod/.pyenv/versions/3.9.17/lib/python3.9',
'/home/gitpod/.pyenv/versions/3.9.17/lib/python3.9/lib-dynload',
'/workspace/.pip-modules/lib/python3.9/site-packages',
'/home/gitpod/.pyenv/versions/3.9.17/lib/python3.9/site-packages']
Server time: Sat, 11 Nov 2023 15:17:58 +0000
目前正在尝试使用本教程进行修复
“设置 Google 登录以获得更快的 Django 登录体验壮举。Akamai DevRel,YouTube 视频,2022 年 12 月 12 日,https://youtu.be/yO6PP0vEOMc?feature=shared&t=1328。2023年11月11日访问。
- 已正确遵循,所有工作长达 22 分钟
- 根据教程为 Google OAuth 设置 URL、视图和模板后,最近进行了迁移,没有明显的问题
- 在此之前,django-admin 面板似乎工作正常
settings.py 和 url 可能是问题区域
已安装的应用程序在 settings.py 上似乎没问题 - 可以在此处查看完整内容
这是最近实现的,但根据教程是正确的:
AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend"
)
urls.py 中的 urlpatterns
urlpatterns = [
path('admin/', admin.site.urls),
path("", include("blog.urls"), name="blog-urls"),
path('summernote/', include('django_summernote.urls')),
path("accounts/", include("allauth.urls")),
path("", include("users.urls"))
]
答:
1赞
Laurie Crean
11/12/2023
#1
当 settings.py 中的 SITE_ID 设置引用数据库中不存在的 Site 对象时,错误消息“站点匹配查询不存在”通常出现在 Django 中。
我设法通过检查现有站点 ID 使用 Python Shell 进行调试。
from django.contrib.sites.models import Site
existing_site = Site.objects.get(domain='http://127.0.0.1:8000')
print(existing_site.id)
返回语句显示,SITE_ID应为 2,而不是之前设置的 1。
此问题已通过更新 settings.py 以匹配正确的站点 ID 来修复:
SITE_ID = 2
现在可以访问 django 管理面板,而不会出现任何进一步的错误。
评论