在Apach上无法识别Django自定义身份验证后端

2024-10-03 09:11:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用mod\upython将Django应用程序部署到基于Apache2的服务器上。我已经设置了正确的处理程序,并进行了配置,使mod\upython能够与我的项目一起工作。我的项目实现了一个自定义的auth后端来将我的用户连接到twitter,我的后端实现在:

myproject
|- backends/

在目录。所有的东西似乎运行良好,我的页面加载,我可以进行读/写操作正常。但每当我试图用我的Twitter帐户登录时,应用程序就会触发一个异常,告诉我:

导入身份验证后端时出错后端.twitteroauth:“没有命名的模块后端.twitteroauth““

在我的设置.py,我将我的后端注册为

^{pr2}$

有什么问题吗?在


Tags: 项目django用户服务器authmod应用程序处理程序
3条回答

确保后端在python路径上,并且文件夹中有一个init.py文件。在

问题是python找不到模块twitteroauth。文件TwitterBackend的名称是什么?确保在一个文件包中有一个

编辑:

如果运行shell会怎么样

python manage.py shell

试着把它导入那里?在

^{pr2}$

由于其他任何东西都可以正常工作,我猜myproject在您的python路径中。在

删除数据库解决了我的问题。据我所知,如果一个用户被登录,他相应的登录后端将作为会话变量保存在数据库中。我的设置.py文件是

AUTHENTICATION_BACKENDS = (
   'django.contrib.auth.backends.ModelBackend',
   'backends.twitteroauth.TwitterBackend',
)

在我改正之前。改变设置.py重启应用程序是远远不够的。你也必须从数据库中删除与会话相关的记录。在

相关问题 更多 >