我(尝试)使用Django Rest Framework的基于令牌的身份验证。我的应用 models.py
中有以下内容from django.db.models.signals import post_save
from django.dispatch import receiver
from rest_framework.authtoken.models import Token
from django.conf import settings
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
Token.objects.create(user=instance)
每当我创建一个新帐户(通过'createsuperuser'或使用我的注册表单)时,用户都会正确添加到'auth_user'表中。但是,尽管创建了'authtoken_token'表,但没有添加任何内容。这让我相信我的@reciever可能无法正常工作。
然而,我可以使用Django shell手动创建令牌。这些令牌将被正确添加到authtoken_token表中。
非常感谢任何帮助,
由于
答案 0 :(得分:1)
要检查的事项:
AUTH_USER_MODEL
,您可能需要使用get_user_model()
代替models.py
settings.INSTALLED_APPS
文件中
我已经使用DRF好几年了,从来没有遇到过这个问题。以上之一可能是你的罪魁祸首。