Python 我想在django社交应用登录后添加costment字段
您好,我是python/django的新php开发人员 我正在使用“social auth app django”库使用django创建一个社交登录,并按照下面的教程来实现它 它的工作很好,但我还需要在数据库中添加服装文件,这将在不同的表中,但它将被添加到新用户创建时。 我扩展了用户表,如下所示Python 我想在django社交应用登录后添加costment字段,python,django,facebook,login,django-socialauth,Python,Django,Facebook,Login,Django Socialauth,您好,我是python/django的新php开发人员 我正在使用“social auth app django”库使用django创建一个社交登录,并按照下面的教程来实现它 它的工作很好,但我还需要在数据库中添加服装文件,这将在不同的表中,但它将被添加到新用户创建时。 我扩展了用户表,如下所示 from django.contrib.auth.models import User class NewsCreator(models.Model): user = models.OneT
from django.contrib.auth.models import User
class NewsCreator(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
CreatorLastLogs= models.CharField(max_length=100)
CreatorLogs= models.CharField(max_length=100)
我想在创建新用户或现有用户登录时向这些字段添加数据。我试图浏览文档,但找不到任何与代码扩展/自定义等相关的内容。提前感谢大家。嗨,我已经找到了答案,所以我为稍后偶然发现这篇文章的人发帖 django social提供了扩展代码的管道,我们只需要扩展这个管道 为此,请在setting.py文件中发布以下列表(此列表中的所有方法都是默认管道方法,除最后一个方法外,其他方法都会被调用) 如果您对django social有任何其他疑问,请参考 其详细文件
SOCIAL_AUTH_PIPELINE = (
'social_core.pipeline.social_auth.social_details',
'social_core.pipeline.social_auth.social_uid',
'social_core.pipeline.social_auth.auth_allowed',
'social_core.pipeline.social_auth.social_user',
'social_core.pipeline.user.get_username',
'social_core.pipeline.user.create_user',
'social_core.pipeline.social_auth.associate_user',
'social_core.pipeline.social_auth.load_extra_data',
'social_core.pipeline.user.user_details',
'newsapp.pipeline.save_profile'<-- this is your method
)
def save_profile(backend, user, response, *args, **kwargs):
if NewsCreator.objects.filter(user_id=user.id).count() == 0 :
newsCreator = NewsCreator.objects.create(user=user)
//your logic for new fields
newsCreator.save()