[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  (0) 2023.09.14
    [Django] 요청과 응답(form)  (0) 2023.09.13
    [Django] Template 상속  (0) 2023.09.13
    [Django] Template System  (0) 2023.09.13

    댓글