加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

django-allauth不使用我的自定义适配器

发布时间:2020-12-20 13:45:51 所属栏目:Python 来源:网络整理
导读:我正在使用 django 1.6.5和 django-allauth 0.18.0,一旦我们在django的管理面板中创建社交应用程序,社交登录就会按预期工作. 因此,我的下一步是尝试使用适配器来更改模块的行为. 它在docs看起来很简单但不知何故,我似乎无法使django-allauth使用我的自定义适
我正在使用 django 1.6.5和 django-allauth 0.18.0,一旦我们在django的管理面板中创建社交应用程序,社交登录就会按预期工作.

因此,我的下一步是尝试使用适配器来更改模块的行为.

它在docs看起来很简单但不知何故,我似乎无法使django-allauth使用我的自定义适配器.

所以这是我尝试将pdb转换为我的适配器方法的尝试.

这是我的文件夹/文件结构:

.
├── manage.py
├── requirements.freeze
├── foo
│?? ├── __init__.py
│?? ├── settings.py
│?? ├── urls.py
│?? └── wsgi.py
└── foo_app
    ├── adapters.py
    ├── views.py
    ├── etc...

这是我的foo / settings.py文件:

INSTALLED_APPS = (
    'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sites','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','south','allauth','allauth.account','allauth.socialaccount','allauth.socialaccount.providers.facebook','foo_app'
)
ACCOUNT_ADAPTER="foo_app.adapters.FooAppAccountAdapter"
SOCIALACCOUNT_ADAPTER="foo_app.adapters.FooAppSocialAccountAdapter"

这是我的foo_app / adapters.py文件:

# -*- coding: utf-8 -*-

import pdb

from allauth.account.adapter import DefaultAccountAdapter
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter


class FooAppAccountAdapter(DefaultAccountAdapter):
    def save_user(self,request,user,form,commit=true):
        print "FooAppAccountAdapter.save_user"
        pdb.set_trace()
        return super(FooAppAccountAdapter,self).save_user(
            request,commit
        )


class FooAppSocialAccountAdapter(DefaultSocialAccountAdapter):
    def pre_social_login(self,sociallogin):
        print "FooAppSocialAccountAdapter.pre_social_login"
        pdb.set_trace()
        return super(FooAppSocialAccountAdapter,self).pre_social_login(
            request,sociallogin
        )

    def save_user(self,sociallogin,form=None):
        print "FooAppSocialAccountAdapter.save_user"
        pdb.set_trace()
        return super(FooAppSocialAccountAdapter,form
        )

我的set_trace都没有工作,我想我可能只是在设置中忘记了一些东西,但无法弄明白.

那么我错过了什么或做错了什么?

解决方法

你必须添加
ACCOUNT_ADAPTER =’project.users.adapter.MyAccountAdapter’
到setting.py

有关自定义适配器类的更多详细信息,请查看此链接https://django-allauth.readthedocs.io/en/latest/advanced.html#custom-redirects

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读