【发布时间】:2020-10-09 13:56:59
【问题描述】:
我正在努力将 Django-Simple-SSO 实施到我们基于 python 的平台上。我正在关注这个博客来实现 SSO:
https://medium.com/@MicroPyramid/django-single-sign-on-sso-to-multiple-applications-64637da015f4
这段代码是django-simple-sso服务端的第3步。
from simple_sso.sso_server.models import Token, Consumer
Consumer.objects.create(public_key='your_application_public_key', private_key='your_application_private_key', name='your_application_name')
psycopg2.errors.UndefinedTable: 关系“sso_server_consumer”不存在——这是我在 django shell 中运行上述代码时遇到的错误。有人可以帮我解决这个错误吗?
我已经运行了makemigrations 和migrate 命令。但是,仍然得到同样的错误。
我可以在 django-admin 页面的标题 SSO_SERVER 下看到 Consumers 表。但是,当我点击那个Consumers 表时,我得到了这个错误页面:
ProgrammingError at /admin/sso_server/consumer/
relation "sso_server_consumer" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "sso_server_consumer"
还有为什么要导入Token?因为该 sso 博客文章中的任何地方都没有使用它。
谢谢
【问题讨论】:
-
你跑
python manage.py makemigrations和python manage.py migrate了吗? -
是的,我运行了这两个命令..
-
在
psql中\d是否显示表格?或者它的名称是否不同,例如不同的外壳? -
@AdrianKlaver 有没有办法检查我的 django 平台正在使用哪个数据库?我是 Django 的新手。现在我只知道显示表格的管理页面。我不知道如何在我的 dango 平台上使用这个
psql命令。而且我也不确定我的平台是否在使用 postgreSQL。 -
您需要在项目中找到设置文件并查看
DATABASES的设置。psql是一个 Postgres 客户端,它是 Postgres 自带的。
标签: python django single-sign-on psycopg2