백엔드
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으로 전송한 데이터뿐만 아니라 모든 요청 관련 데이터가 담겨 있습니다.