Django我想从Twitter上获取头像,但失败了
Django2.1 我已经在社交身份验证应用程序django中实现了twitter身份验证。我想得到一个登录帐户的头像,但它不工作 我添加了一个引用的管道,但出现了一个错误。原因是什么?在编写管道之前,它可以正常工作Django我想从Twitter上获取头像,但失败了,django,python-3.x,Django,Python 3.x,Django2.1 我已经在社交身份验证应用程序django中实现了twitter身份验证。我想得到一个登录帐户的头像,但它不工作 我添加了一个引用的管道,但出现了一个错误。原因是什么?在编写管道之前,它可以正常工作 ModuleNotFoundError at /complete/twitter/ No module named 'myapp.users' 我的代码 #settings.py SOCIAL_AUTH_PIPELINE = ( 'social_core.pipeline
ModuleNotFoundError at /complete/twitter/
No module named 'myapp.users'
我的代码
#settings.py
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',
'myapp.users.pipeline.get_avatar',
)
多谢各位
---加----
我的项目目录结构
Projects
-assets
-media
-projects
—__init__.py
—settings.py
—urls.py
—wigs.py
-myapp
—migrations
—__init__.py
—admin.py
—apps.py
—models.py
—pipeline.py
—tests.py
—views.py
你应该使用
myapp.pipeline.get_avatar
,而不是myapp.users.pipeline.get_avatar
,因为myapp
下没有名为users.py
的模块,看起来你的应用程序路径不正确。你能在设置.py
@AmanGarg中共享你的目录结构和安装的应用程序吗?我添加了。Django无法找到myapp.users.pipeline.get\u avatar
。您的项目目录结构可以帮助我们找到原因。对不起。我添加了目录结构
#models.py
from django.contrib.auth import get_user_model
from django.db import models
def get_myapp_image_path(instance, filename):
return 'image-{0}/{1}'.format(instance.id, filename)
class Social(models.Model):
user = models.ForeignKey(get_user_model(),
related_name='socials',
on_delete=models.CASCADE)
provider = models.CharField(max_length=32)
uid = models.CharField(max_length=255)
class Meta:
unique_together = ('provider', 'uid')
db_table = 'socials'
class Myapp(models.Model):
user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
username = models.CharField(max_length=30, unique=True, primary_key=True)
title = models.CharField(max_length=20)
content = models.TextField(max_length=500)
avatar = models.URLField(max_length=200, blank=True)
posted_date = models.DateTimeField(auto_now=True)
def save(self, *args, **kwargs):
if not self.username:
self.username = self.user.username
super(Myapp, self).save(*args, **kwargs)
#settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bootstrap4',
'myapp.apps.MyappConfig',
'social_django',
]
Projects
-assets
-media
-projects
—__init__.py
—settings.py
—urls.py
—wigs.py
-myapp
—migrations
—__init__.py
—admin.py
—apps.py
—models.py
—pipeline.py
—tests.py
—views.py