SQL
パスワードハッシュ化して登録するロジックはシリアライザーに書く
出典: DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!? — パスワードハッシュ化して登録するロジックはシリアライザーに書く
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
from rest_framework import serializers
from django.contrib.auth import get_user_model
from django.contrib.auth.hashers import make_password
class UserSerializer(serializers.ModelSerializer):
# パスワードのハッシュ化
# この文言でハッシュ化しないと、認証に通らない。
def validate_password(self, value: str) -> str:
return make_password(value)
class Meta:
model = User
fields = ['id', 'username', 'password']
extra_kwargs = {'password': {'write_only': True}}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「パスワードハッシュ化して登録するロジックはシリアライザーに書く」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
6 件from django.contrib import admin from django.urls import path, include urlpatterns = [未収録
DRFで単純なSimpleJWTの導入は簡単だが
#148229e2b4cf
from django.db import models # Todoはタイトル、完了フラグ、created,updatedを持っている。 class Todo(models.Model):未収録
TodoのModel、シリアライザー、View
#8e3888c6fa12
from rest_framework import serializers from core.models import Todo未収録
TodoのModel、シリアライザー、View
#d2a11ec1f097
from core.models import Todo from rest_framework import viewsets,permissions,generics from .serializers import TodoSeriarizer未収録
TodoのModel、シリアライザー、View
#316cb27d1413
from django.contrib.auth.models import User from rest_framework.authtoken.models import Token from rest_framework import serializers from django.contrib.auth import get_user_model未収録
これで安心かと思いきや
#e9c2ebb640ee
from django.shortcuts import render from django.contrib.auth.models import User from rest_framework import viewsets, generics, authentication, permissions from rest_framework.exceptions import NotFound未収録
これで安心かと思いきや
#8801215d054f
