TIL | Django - westargram - 1. 会員加入機能
💡 Django初期設定が完了したと仮定し、プロジェクトを続行します.初期設定はここで設定できます。
models.pyの作成
views.pyの作成
Emailは
Passwordも8文字以上の文字、数字、特殊文字の組み合わせであるべきです.これも正規表現で書くことができます.
models.pyの作成
first_name = models.CharField(max_length = 10)
last_name = models.CharField(max_length = 10)
email = models.EmailField(max_length = 50)
password = models.CharField(max_length = 100)
phone_number = PhoneField()
gender_choice =(('M', 'Man'),
('W', 'Woman'))
gender = models.CharField(max_length = 1,choices = gender_choice)
birth = models.DateField()
次のフィールドが記述されています.大部分はCharField
で書かれていますが、PhoneField
とDateField
があります.PhoneField
を調べたところ、あることがわかり、対応する場所を設けて使用しました.このためmodels.py
ファイルにはPhoneField
が導入されている.views.pyの作成
def post(self, request):
data = json.loads(request.body)
email_data = data['email']
password_data = data['password']
まず会員が入金し,postリクエストによりクライアントから送信されたjson形式の会員データをdictionary形式で受信して保存する.if User.objects.filter(email = email_data).exists():
return JsonResponse({'MESSAGE' : 'EMAIL ALREADY EXISTS'}, status = 400)
ユーザー・テーブルに既に存在するemailがemail_data
(ユーザーが入力したemail)の場合、次の応答が返されます.( 'MESSAGE' : 'EMAIL ALREADY EXISTS', status code 400
)if EmailValidation(email_data):
return JsonResponse({'MESSAGE' : 'EMAIL VALIDATION ERROR'}, status = 400)
if PasswordValidation(password_data):
return JsonResponse({'MESSAGE' : 'PASSWORD VALIDATION ERROR'}, status = 400)
EmailとPasswordは検証に合格し、合格しなければエラーメッセージが送信されます.Emailは
<user email id>@<domain name>.<root domain name>
というフォーマットを維持しなければならない.例えば、hprp1234@gmail
、[email protected]
、cookie7989.com
はこのように記述できない.したがって,この部分はPython正規式を用いて有効性検査を行うことができる.Passwordも8文字以上の文字、数字、特殊文字の組み合わせであるべきです.これも正規表現で書くことができます.
Reference
この問題について(TIL | Django - westargram - 1. 会員加入機能), 我々は、より多くの情報をここで見つけました https://velog.io/@hrpp1300/TIL-Django-westargram-1.-회원가입-기능テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol