데이터 분석 기술 블로그

Django에 대하여(5)_요청과 응답 본문

백엔드

Django에 대하여(5)_요청과 응답

데이터분석가 이채은 2024. 3. 26. 23:36

요청과 응답은 데이터를 보내고 가져오는 것입니다. HTML form element를 통해 사용자와 애플리케이션 간의 상호작용을 이해해야 합니다.


<form action="#" method="GET">
  <div>
  	<label for="name">아이디 : </label>
    <input types="text" id="name">
  </div>
  <div>
  	<label for="password">패스워드 : </label>
    <input types="password" name="password" id="password">
  </div>
  <input type="submit" value-"로그인">
 </form>

결과


실제 웹 서비스에서 form이 사용되는 예시

네이버 & 구글의 로그인 form

 

# urls.py

urlpatterns = [
	path('admin/', admin.site.urls),
    path('articles/', views.index),
    path('dinner/', views.dinner),
    path('search/', views.search),
]
# views.py

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

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

{% block content %}
	<form action="" method="GET">
    	<label for="message">검색어</label>
        <input type="text" name="message" id="message"
        <input type="submit" value="submit">
    </form>
{% endblock content %}

<!-- articles/search.html -->

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

{% block content %}
	<form action="https://search.naver.com/search.naver/" method="GET">
    	<label for="message">검색어</label>
        <input type="text" name="query" id="message"
        <input type="submit" value="submit">
    </form>
{% endblock content %}

1. 'form' element

사용자로부터 할당된 데이터를 서버로 전송하는 요소입니다. 웹에서 사용자 정보를 입력하는 여러 방식(text, password, checkbox 등)을 제공합니다.

 

'action' & 'method'는 form의 핵심 속성 2가지로 데이터를 어디(action)로 어떤 방식(method)으로 요청할지를 의미합니다.

  1. action
    • 입력 데이터가 전송될 URL을 지정 (목적지)
    • 만약 이 속성을 지정하지 않으면 데이터는 현재 form이 있는 페이지의 URL로 보내진다.
  2. method
    • 데이터를 어떤 방식으로 보낼 것인지 정의
    • 데이터의 HTTP request methods (GET, POST)를 지정

2. 'input' element

사용자의 데이터를 입력 받을 수 있는 요소입니다. type 속성 값에 따라 다양한 유형의 입력 데이터를 받습니다.


3. 'name' attirble

input의 핵심 속성으로 입력한 데이터에 붙이는 이름(key)입니다. 데이터를 제출했을 때 서버는 name 속성에 설정된 값을 통해서만 사용자가 입력한 데이터에 접근할 수 있습니다.

 

Query String Parameters란,

  • 사용자의 입력데이터를 URL 주소에 파라미터를 통해 서버로 보내는 방법
  • 문자열은 앰퍼샌드(&)로 연결된 key=value 쌍우로 구성되며, 기본 URL과 물음표(?)로 구분된다.

예시