[Django] form활용: throw & catch

사용자의 입력 데이터를 받아(throw) 그대로 출력(catch)하는 서버 만들기

 

1. urls.py의 urlpatterns에 경로를 추가해줌

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

 

 

2. views.py 에 throw함수와 catch함수 작성

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

def catch(request):		# 사용자로부터 요청(request)를 받아옴
    message = request.GET.get('message')	# request에서 사용자 입력 데이터를 찾음
    context = {
        'message' : message,			# context에 저장 후, catch 템플릿에서 출력
    }
    return render(request, 'articles/catch.html', context)

 

 

 

3. throw.html 작성

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

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

- catch로 보낼꺼기 때문에 form의 action의 경로를 "/catch/"로 지정해 줌

 

 

 

4. catch.html 작성

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

{% block content %}
    <h1>Throw로 부터 {{message}}를 받았당~!</h1>
{% endblock content %}

 

 

5. 결과

서버주소/throw/
서버주소/catch/?message=던져

'BackEnd > Django' 카테고리의 다른 글

[Django] App URL  (0) 2023.09.14
[Django] 변수와 URL  (1) 2023.09.14
[Django] 요청과 응답(form)  (0) 2023.09.13
[Django] Template 상속  (0) 2023.09.13
[Django] Template System  (0) 2023.09.13