Django 错误:关系 django_admin_log 的权限被拒绝
Posted
技术标签:
【中文标题】Django 错误:关系 django_admin_log 的权限被拒绝【英文标题】:Django Error: permission denied for relation django_admin_log 【发布时间】:2014-11-10 14:55:09 【问题描述】:我正在尝试访问我的 Django 项目的管理界面。我可以访问初始的“登录”屏幕,但是一旦我输入我的凭据,我就会收到以下错误:
/admin/ 处的编程错误
关系 django_admin_log 的权限被拒绝
异常类型:ProgrammingError
异常值: 关系 django_admin_log 的权限被拒绝
异常位置:.../.virtualenvs/testing/lib/python2.7/site-packages/django/db/backends/utils.py 在执行中,第 65 行 模板渲染出错
在模板.../.virtualenvs/testing/lib/python2.7/site-packages/django/contrib/admin/templates/admin/index.html,第63行出错
关系 django_admin_log 的权限被拒绝
我几乎没有编写任何代码(终于完成了 postgresql 数据库的设置),但有些不对劲,我无法访问管理页面。 我的模型在 admin.py 中“注册”,并且该应用程序包含在 settings.py 中的 INSTALLED APPS 下。我在 views.py 或 urls.py 中没有任何更改。
任何帮助都将非常非常感谢。谢谢!
【问题讨论】:
你运行manage.py syncdb
command了吗?
【参考方案1】:
这是一个数据库访问被拒绝错误。
检查您的数据库服务器访问设置。
以 Postgresql 为例(任何更改都需要重启服务器):
/etc/postgresql/X.X/main/pg_hba.conf
host all all 0.0.0.0 0.0.0.0 md5
【讨论】:
我确实可以通过 psql 交互式 shell 访问数据库。这有关系吗?我的 pg_hba.conf 看起来像: 用什么用户?和你的 settings.py 一样吗? 那个用户是数据库的所有者?我的意思是,您以该用户为所有者创建数据库? 就是这样!用户不是“所有者”。我切换它并且它工作。非常感谢!【参考方案2】:这是数据库访问被拒绝错误。
如果您使用的是 Linux 并安装了 Postgres SQL,请按照以下步骤操作:
1.通过键入:
切换到服务器(本地计算机)上的 postgres 帐户:sudo -i -u postgres
2。您现在可以通过键入以下内容立即访问 Postgres 提示:
psql
他会将您直接登录到 Postgres,您的提示将如下所示:postgres=#
3.删除 django_admin_log 表
DROP TABLE django_admin_log;
4.创建一个新的 django_admin_log 表
CREATE TABLE django_session (
id integer,
action_time timestamp with time zone,
object_id text,
object_repr character varying(200),
action_flag smallint,
change_message text,
content_type_id integer,
user_id integer
);
5.退出
\q
【讨论】:
以上是关于Django 错误:关系 django_admin_log 的权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章