데이터 분석 기술 블로그

Django에 대하여(6)_form 활용 본문

백엔드

Django에 대하여(6)_form 활용

데이터분석가 이채은 2024. 3. 27. 22:54

사용자 입력 데이터를 받아 그대로 출력하는 서버를 만들어 볼게요.

먼저 사용자 입력 데이터를 받는 로직을 throw라고 하고 출력하는 서버를 catch라고 하겠습니다.

 

1. throw 로직 작성

#urls.py

urlpatterns = [
	path('throw/', views.throw),
]
# views.py

def throw(request):
	return render(request, 'articles/throw.html')
<-- articles/throw.html -->

{% extends 'articles/base.html' %}

{% block content %}
  <h1>Throw</h1>
  <form action="/catch/" method="GET">
    <input type="text" id="message" name="message">
    <input type="submit">
  </form>
{% endblock content %}

2. catch 로직 작성

#urls.py

urlpatterns = [
	path('catch/', views.catch),
]
# views.py

def catch(request):
  message = request.GET.get('message')
  context = {
    'message': message,
  }
  return render(request, 'articles/catch.html', context)
<-- articles/throw.html -->

{% extends 'articles/base.html' %}

{% block content %}
  <h1>Catch</h1>
  <h3>{{ message }}를 받았습니다!</h3>
{% endblock content %}

3. HTTP request 객체

view 함수의 첫 번째 인자로, form으로 전송한 데이터뿐만 아니라 모든 요청 관련 데이터가 담겨 있습니다. 

request 객체 살펴보기
form 데이터를 가져오는 방법