Django Rest Frameworkのトークンベース認証を使用しようとしています。私は(私の登録フォームを使用していずれかの「createsuperuser」を介してまたはで)新しいアカウントを作成するたびにDjango Restフレームワークトークンが自動的に生成されない
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)
は、ユーザーが正しく「AUTH_USER」テーブルに追加された私のアプリのmodels.pyで、次のしています。ただし、 'authtoken_token'テーブルは作成されますが、何も追加されません。これは私の@recieverが適切に動作していない可能性があると私に信じさせます。
ただし、Djangoシェルを使用して手動でトークンを作成することはできます。これらのトークンは、authtoken_tokenテーブルに正しく追加されます。
この上の任意の助けをいただければ幸いです、
チェックするためのおかげ
AUTH_USER_MODELが 'settings.py'で明示的に定義されていますか?それ以外の場合は、常に 'get_user_model()'を使用することができます。 –
明示的に定義していません。私は今、get_user_model()を使ってみましたが、同じ結果が表示されています。 – ethanzh
ログが設定されていますか?受信者に何かを印刷したりログしたりして、それが実行中であるかどうかを確認してください。 –