[Django]会員加入と登録ver.3
1.会員加入(非暗号化) import json, bcrypt
from django.views import View
from django.http import JsonResponse
from django.core.exceptions import ValidationError
from users.models import User
from users.validation import validate_check
class SignUpView(View):
def post(self, request):
data = json.loads(request.body)
try:
user_name = data['name']
user_email = data['email']
user_password = data['password']
user_phone = data['phone']
hased_pw = bcrypt.hashpw(user_password.encode('utf-8'), bcrypt.gensalt())
decoded_hashed_pw = hased_pw.decode('utf-8')
user_create = User(
name = user_name,
email = user_email,
password = decoded_hashed_pw,
phone = user_phone,
)
validate_check(
user_email,
user_password,
)
user_create.full_clean()
user_create.save()
return JsonResponse({'message':'SUCCESS'}, status=201)
except KeyError:
return JsonResponse({'message':'KEY_ERROR'}, status=400)
except ValidationError as e:
return JsonResponse({'message':e.messages}, status=400)
->bcryptを用いて暗号化を行い,数十回の修正を経て,現在と同じコードラインアップを形成した.
->hased pwをtry文(外)に配置し、変数値ではなく直接データを受信するフォーマットで、次のコメントを受信します.
そこで暗号化部をtryに移動し,変数に設定した値を受け入れるように変更する.
-->さらに、2行の暗号化プロセスをcreateのpassword=()に移動し、1つの文に結合します.
2.ログイン class SignInView(View):
def post(self, request):
try:
data = json.loads(request.body)
user_email = data['email']
user_password = data['password']
if not User.objects.filter(email=user_email, password=user_password).exists():
return JsonResponse({'message':'INVALID_USER'}, status=401)
return JsonResponse({'message':'SUCCESS'}, status=200)
except KeyError:
return JsonResponse({'message':'KEY_ERROR'}, status=400)
->jwtのコイン生成法はまだ適用されていません.
->testで作成したブランチで種々の実験を行い,原因不明によりコード競合と混同を招いた.
->以前のバージョンを中心に再構築を行い、これまで発見されなかった会議ミスを修正して再建に成功しました.
Reference
この問題について([Django]会員加入と登録ver.3), 我々は、より多くの情報をここで見つけました
https://velog.io/@_ted_0527_/Django-회원가입-및-로그인ver.3
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import json, bcrypt
from django.views import View
from django.http import JsonResponse
from django.core.exceptions import ValidationError
from users.models import User
from users.validation import validate_check
class SignUpView(View):
def post(self, request):
data = json.loads(request.body)
try:
user_name = data['name']
user_email = data['email']
user_password = data['password']
user_phone = data['phone']
hased_pw = bcrypt.hashpw(user_password.encode('utf-8'), bcrypt.gensalt())
decoded_hashed_pw = hased_pw.decode('utf-8')
user_create = User(
name = user_name,
email = user_email,
password = decoded_hashed_pw,
phone = user_phone,
)
validate_check(
user_email,
user_password,
)
user_create.full_clean()
user_create.save()
return JsonResponse({'message':'SUCCESS'}, status=201)
except KeyError:
return JsonResponse({'message':'KEY_ERROR'}, status=400)
except ValidationError as e:
return JsonResponse({'message':e.messages}, status=400)
class SignInView(View):
def post(self, request):
try:
data = json.loads(request.body)
user_email = data['email']
user_password = data['password']
if not User.objects.filter(email=user_email, password=user_password).exists():
return JsonResponse({'message':'INVALID_USER'}, status=401)
return JsonResponse({'message':'SUCCESS'}, status=200)
except KeyError:
return JsonResponse({'message':'KEY_ERROR'}, status=400)
->jwtのコイン生成法はまだ適用されていません.->testで作成したブランチで種々の実験を行い,原因不明によりコード競合と混同を招いた.
->以前のバージョンを中心に再構築を行い、これまで発見されなかった会議ミスを修正して再建に成功しました.
Reference
この問題について([Django]会員加入と登録ver.3), 我々は、より多くの情報をここで見つけました https://velog.io/@_ted_0527_/Django-회원가입-및-로그인ver.3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol