Django) 간단한 웹 애플리케이션 만들기 (2)

2022. 7. 19. 21:25코딩/Django

728x90
반응형

창에서 오른쪽 마우스를 누르고 검사에 들어가서, network로 들어가서

만들어놓은 <input type="submit">으로 내가 입력한 정보를 제출할 수 있었다.

그리고 method 값을 지정해주지 않아서, default로 GET 형태로 들어감

 

 

그러면 간단하다. 그냥 안에 method="post"를 넣어주면, post형태로 값이 들어감.

 

 

그러면 이제 post값으로 찍힘.

대신 Django 보안상 문제로 페이지 오류가 나기 때문에

정공법으로 뚫는 게 아니라 우회하기위해서, django request skip을 구글링하여

from django.views.decorators.csrf import csrf_exempt 우회하는 라이브러리를 가져온 후,

우회하고 싶은 함수 위에 @csrf_exempt 를 달아주면 된다.

 

 

그러면 이제 사용자가 입력하는 post값을 페이지 내에서 어떻게 사용하냐는 문젠데

request.method == "GET" 일경우, 그리고 "POST"일경우로 나누어

request.POST로 제출한 값을 확인할 수 있다.

 

그러면 터미널에 딕셔너리형태로 값이 들어감을 알 수 있다.

이를 이용해서 밑처럼 코드를 짜준다.

즉 변수 title 값은 POST의 타이틀부분을.

변수 body 값은 POST의 바디부분을 가져오고,

이를 newTopic이라는 새로운 변수를 선언하여 딕셔너리 형태로 묶어준다.

 

 

 

이후 기존에 만들어놨던 topics리스트에 newTopic을 append하여

내가 넣은 값을 기반으로 새로운 topics리스트가 생겨난다.

그 과정에서 redirect 를 이용하여 이를 다시 반환하는 것을 배웠는데 이건 아직 잘모르겠다.

 

다만 url변수를 리스트의 순서를 의미하는 nextId값을 포함하게 만들어,

지속적으로 사용자가 기존 리스트에 삽입할 수 있는 형태가 된다.

 

 

 

 

 

728x90
반응형