【发布时间】:2016-11-02 17:21:13
【问题描述】:
我正在(尝试)使用 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 表中。
对此的任何帮助将不胜感激,
谢谢
【问题讨论】:
-
您是否在
settings.py中明确定义了AUTH_USER_MODEL?否则,你总是可以使用get_user_model() -
我没有明确定义它。我刚刚尝试使用 get_user_model() 但是我得到了相同的结果。
-
您是否配置了日志记录?尝试在接收器中打印或记录某些内容,看看它是否正在运行。
-
不,我没有配置日志记录。我现在就设置它
标签: python django database django-rest-framework token