오늘의 장고 공부로 알게된 점..
장고에는 flask랑 다르게 내장 기능들이 정말 많고,
알고 활용하는 것에 따라 좋은 서비스를 빠른 시간 안에 만들어낼 수 있겠다는 생각이 들었다.
Today's 오류메세지 01
..../views.py", line 20
AttributeError: 'function' object has no attribute 'objects'
get_user_model()
함수 ()빼먹음 아아아아아아ㅏㅏ
Today's 오류메세지 02 (사실어제부터.. 진짜 이거때매 집중도 안 되고.. 만든 거 보이지도 않고...ㅠㅠ)
어제부터 암호화 기능, {% csrf_token %}이 작동하지 않는다.
장고강의 가이드를 따라 회원가입 페이지에서 등록을 하려고할때, 로그인을 하려고할 때
Forbidden (403) : CSRF 검증에 실패했습니다. 요청을 중단하였습니다.
Reason given for failure: CSRF token missing.
이 에러가 나온다.
html파일에서 runcode하면
Code language not supported or defined.
CSRF는 Cross-site Request Forgery.. 유효한 사이트 검증.. 사이트 간 위조 보호 요청?
그러니까 이상한 페이지 접근에서 서버/유저를 보호해주는 설정이라 없애기도 애매하다.
> 오류메시지 해결을 위해 뚠뚠...
방법1.
DB 정보충돌 문제?
db.sqlite파일을 지우고 admin설정을 다시해보니 되었다는 간증글을 보았다.
실행해보았으나 실패함.
방법2.
Django 서버는 'POST' request 가 들어왔을 때 허가되지 않은 호스트의 경우 403 forbidden error를 발생시킨다고 한다
원인을 알았으니 이제 내가 허가된 접근이라고 알려주면 된다.
settings.py > CSRF_TRUSTED_ORIGINS 값으로 접근하는 도메인 값을 준다
참고한 블로그 주인장은 도메인이 있어서 그걸 사용하셨고,
개발 중이라 localhost사용하고 있는 병아리는 서버 실행 시 뜨는 http를 입력하면 된다고 한다.
Starting development server at http://127.0.0.1:5000/
>> http://ip주소:포트번호 이므로 각자의 사정에 맞춤작성하면된다..
#허가된 호스트 접근 코드
CSRF_TRUSTED_ORIGINS = ["http://127.0.0.1:8000/"]
하지만 나의 강력한 컴퓨터님은 받아들이지 못하셨다.
그래서 튜터님께 달려감..
위의 CSRF 오리진에 두가지 명령어를 같이 넣어보았다.
CSRF_TRUSTED_ORIGINS = ['http://localhost:8000', 'http://127.0.0.1:8000']
# django버전 4부터..?는 http://나 https:// 를 꼭 붙여주어야 작동한다고 한다
하지만 작동하지 않아...
그래서 방법3.
하고싶지 않았던 예외처리를 한다...
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
데코레이터를 문제를 일으키는 로그인 함수 위에 붙이면.. 완료...
이후 다른 오류가 생겨(오타 및 빼먹타 였음;;) 함께 해결해주신 튜터님... 감사합니다...
부끄럽다....'//////'
다른 오류들을 잡고 데코레이터를 빼보았는데
이젠 csrf_token missing오류가 아니라 cookie not set오류가 뜬당ㅋㅋㅋㅋㅋㅋㅋㅋ
진쟈.... 화가 나.....
대체 원인이 뭔지 진짜 모르겠다@.@
그래도 오류 메시지가 달라진 것에 위안을...삼아보자.........................
그래도 이젠 페이지를 볼 수 있어...ㅜㅜ
앞으로도 Django를 계속 활용할텐데 같은 문제가 발생하지 않길 바라며.. 글을 작성하였다...
'AI 웹개발반' 카테고리의 다른 글
[TIL] 아직은 혼자 해결하기 어려운 에러들이 많다 (1) | 2023.04.07 |
---|---|
[TIL] 장고 Field타입과 Field option 알아보기 (0) | 2023.04.06 |
[TIL] django 명령어 실행 문제 해결 (0) | 2023.04.05 |
[TIL] 장고 숙제 해결하기 + 공부한 것 정리 (0) | 2023.04.04 |
[TIL] 터미널로 파일만들고 TIL 쓰기 (2) | 2023.04.02 |