8:17초 질문드립니다.
160
작성한 질문수 37
hello_world_list = HelloWorld.objects.all()
을 지우셨는데..
return HttpResponseRedirec(생략) 이므로
지워도 영향은 안 받겟지만...hello_world.html 에 아직
{% if hello_world_list %}
{% for hello_world in hello_world_list %}
<h4>
{{ hello_world.text }}
</h4>
{% endfor %}
{% endif %}
이 있으므로 지우면 안되지 않나요...?
근데 지우고 실행해보니 또 잘 되더라구요. 근데 제가 생각으로는 Redirect돼서 hello_world.html이 실행되는데
hello_world_list가 없으면 html이 실행이 안되므로
{{ hello_world.text }}도 실행이 안될텐데.. 왜 되는 걸까요...?
답변 1
0
안녕하세요.
질문 확인했습니다.
정상적으로 진행되는 이유는 HttpResponseRedirect 때문입니다.
해당 구문을 통해서 post 요청을 받았을때,
새로운 객체를 생성하는 과정을 진행후,
HTML 을 렌더링 하지 않고,
HttpResponseRedirect 를 통해 다시 GET 요청을 보내게 됩니다.
그럼 이제 앞서 작성한 요청이 POST 인지 아닌지 여부를 확인후,
GET 요청을 받았을때 실행되는 DB 확인 및 hello_world_list 라는 객체를 template 으로 넘겨주어
정상적으로 동작할 수 있는거죠.
POST 에서는 객체를 생성하기만 하고,
GET 요청을 다시 보내 렌더링하는 과정을 진행하는 것입니다.
답변이 도움되셨길 바래요!
감사합니다-
강의에 나왔던 js 파일이 깃허브에 없습니다
1
79
1
모바일 디버깅, 반응형 레이아웃 4분48초 질문
0
57
1
decorator 관련질문입니다.
0
63
1
PasswordChangeView
0
104
2
로그아웃뷰 작동 관련 (2025년 3월)
1
138
1
실행에러질문
0
159
1
@login_required 데코레이터 사용시 리다이렉트는 어디서 참조하여 설정을 하는걸까요?
0
116
1
CacheBackend 관련 에러
0
181
1
21강 CreateView를 통한 회원가입 구현 질문
0
325
1
53강 disallowedhost
0
346
2
502 Bad Gateway
0
474
0
mariadb 접근권한 오류
0
545
1
logout 후 빈 화면으로 이동합니다 ㅠㅠ
0
461
2
로그아웃 후 빈 화면으로 이동
0
333
1
서버 운영 관련 질문 드립니다.(Unable to retirve...)
0
232
1
static/base.css파일을 인식을 못합니다
0
382
1
안녕하세요 19강 디버깅 설정 질문있습니다.
0
291
1
프로필 update편 질문있습니다.
0
380
1
수업질문
0
395
1
COOP error
0
531
1
61강 Dockerfile error
0
598
1
static안에 base.css 에서 정의한 클래스가 적용되지 않습니다.
0
491
1
static 파일 중 jpg 파일만 로드 불가
0
419
1
58강 static 파일 적용 안됨
0
547
1





