get은 브라우저 주소창에 넣으면 자동적으로 보내짐
post는 따로 설정해줘야함
post를 쓰기 위해서 html 안에다가 form을 만들어줘야함(모든 데이터들이 들어감)
<form action=”요청을 하려는 url”>
POST method를 사용해서 서버에 요청을 보낼 때는 항상 csrf 토큰이라는 것을 명시해야함
{% extends 'base.html' %}
{% block content %}
<div style="height : 20rem; background-color: #38df81; border-radius: 1rem; margin: 2rem;">
<h1>
testing
</h1>
<form action="/account/hello_world/" method="post">
{% csrf_token %}
<input type="submit" class="btn btn-primary" value="POST">
</form>
</div>
{% endblock %}
Python
복사
hello_world.html
view 안에서 post랑 get을 나눠서 처리해줄 알고리즘 적용을 해야함
views.py에 요청을 받은 객체 안에서 method를 찾고 post일 경우, context 문장 넣어서 return 해주기
hello_world.html 파일에 {{ text }} 추가하기
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def hello_world(request):
if request.method == "POST":
return render(request, 'accountapp/hello_world.html', context={'text': 'POST METHOD!!!'})
else:
return render(request, 'accountapp/hello_world.html', context={'text': 'GET METHOD!!!'})
Python
복사
views.py
{% extends 'base.html' %}
{% block content %}
<div style="height : 20rem; background-color: #38df81; border-radius: 1rem; margin: 2rem;">
<h1>
testing
</h1>
<form action="/account/hello_world/" method="post">
{% csrf_token %}
<input type="submit" class="btn btn-primary" value="POST">
</form>
<h1>
{{ text }}
</h1>
</div>
{% endblock %}
HTML
복사
hello_world.html