본문 바로가기

Django

(5)
Django CSRF CSRF (Cross Site Request Forgery)란 CSRF는 사이트간 위조 요청으로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행위(CRUD)를 웹 사이트에 요청하게 하는 공격 CSRF 토큰을 사용해야 하는 이유 유요한 CSRF 토큰인지 확인하는 방법 참고 csrf 공격 유투브 https://www.youtube.com/watch?v=nzoUgKPwn_A
Django 유저모델 Email필드로 로그인 AbstractUser 유저 모델 클래스에서 username필드를 아이디로 사용한다. 그래서 보통 이메일로 로그인기능을 만들때 username 필드에 Email 을 저장하고 사용한다. 1.먼저 user 앱을 만들고 User 모델을 AbstractUser 받아 생성한다 USERNAME_FILED 와 REQUIRED_FIELDS 를 위와 같이 설정해준다 여기서 2. USERNAME_FILED 는 꼭 로그인할 email 필드로 설정한다. 3.settings.py에 INSTALLED_APPS 에 user 앱을 추가해준다 4.settings.py에 AUTH_USER_MODEL, LOGIN_FIELDS 를 설정해준다 끝! 테스트를 위해 간단한 html과 views.py 도 작성해준다. 로그인이 성공하면 유저네임과 ..
[Django] values(), values_list() Django 에서 ORM을 통해 가져온 쿼리셋에서 특정 필드로 리스트를 만드는 작업을 하는 경우 리스트를 만들기 위해 for 문과 append() 를 사용해 만들었었다. >>> users = User.objects.all() >>> user_name_list = [] >>> for user in users: ... user_name_list.append(user.username) >>> print(user_name_list) ['seo', 'kim', 'park'] SELECT "user_user"."id", "user_user"."username", "user_user"."email", "user_user"."password", "user_user"."fullname", "user_user"."join..
[Django] Django-extensions shell_plus 로 쿼리 확인하기 Django에서 내가 사용한 orm이 어떤 쿼리를 보내는지 확인하고 싶은 경우가 있다. 이럴 때 쉽게 django-extensions의 shell_plus를 사용하면 쉽게 확인할 수 있다. [설치] 먼저 장고 프로젝스를 생성한 뒤 django-extensions 설치 pip install django-extensions settings.py 의 INSTALLED_APPS 에 추가 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'dj..
Django,RuntimeWarning: DateTimeField received a naive datetime while time zone support is active. 장고에서 시간 정보를 저장하다가 RuntimeWarning: DateTimeField User.created_at received a naive datetime (2021-12-23 05:53:31) while time zone support is active. 경고 메세지가 나왔다. 동작은 정상작동 했으나 경고가 나오는 이유를 알아보기 위해 찾아봤다. 일단 구글 번역을 번역을 해봤다. Django,RuntimeWarning: DateTimeField는 표준 시간대 지원이 활성화된 동안 순진한 datetime을 받았습니다. 순진한 data time을 받았습니다. naive datetime 을 말하는거 같다. 그럼 naive datetime은 뭘까? datetime 종류는 2가지 파이썬 공식문서의 내용이다..