Client가 특정 페이지를 요청하며 Server로 데이터를 보냄
views.py
def func1(request):
numVar1 = request.GET.get('num1',None)
numVar2 = request.GET.get('num2',0)
result = int(numVar2) + int(numVar1)
print(int(numVar2)+int(numVar1))
context ={'key1' : result}
return render(request, 'page1.html',context)
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
결과는 { {key1 }}입니다.
</body>
</html>
POST로 전송할 수 있는 html 페이지 필요, form 태그 이용
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="getPost" method="post">
{% csrf_token %}
<input name="num1">
<input name="num2">
<button>전송</button>
</form>
</body>
</html>
urls.py
"""
from django.contrib import admin
from django.urls import path
import ex01.views
urlpatterns = [
path('admin/', admin.site.urls),
path('qwer/abcd/', ex01.views.func1),
path('dfe', ex01.views.func2),
path('getPost', ex01.views.getPost)
]
html에서의 input태그의 name과 views.py에서 .get(’변수명’)을 같게 해줘야 함
views.py
def func2(request):
return render(request,'input.html')
def getPost(request):
num1 = request.POST.get('num1',None)
num2 = request.POST.get('num2',None)
return HttpResponse(int(num1)+int(num2))