form HTML basic pattern - pai-plznw4me/django-initializer GitHub Wiki

기초 νŒ¨ν„΄

  1. <form> 생성 및 어디에 form 정보λ₯Ό 보내야 ν• μ§€ κ²°μ • ν•œλ‹€.
  2. <input> 을 μƒμ„±ν•œλ‹€.
  3. form tag μ•ˆ crsf template tag 을 μΆ”κ°€ν•œλ‹€.
  4. select box (option)
  5. <input> submit button 생성

1. form tag 생성 및 어디에 form 정보λ₯Ό 보내야 ν• μ§€ κ²°μ • ν•œλ‹€.

<form action="{% url 'polls:search_questions' %}" method="post" id="row_search"></html>

(β€» κ°„ν˜Ή ν•˜λ‚˜μ˜ html page μ—μ„œ μ—¬λŸ¬ url 둜 form 을 λ³΄λ‚΄λŠ”κ±Έ 섀계할 λ•ŒλŠ” url 을 λΉ„μ›Œλ‘κΈ°λ„ ν•œλ‹€.
action 을 기제 ν•˜μ§€ μ•ŠμœΌλ©΄ request κ°€ λ“€μ–΄μ˜¨ 곳으둜 λ³΄λƒ…λ‹ˆλ‹€. )

2. input tag 을 μƒμ„±ν•œλ‹€.

<input type='text' value="" name="text_value" >

⚠️ input tag μ•ˆμ— name 을 적지 μ•ŠμœΌλ©΄ django request μ—μ„œ 확인할 수 μ—†λ‹€.

def view_sample(request):
request['POST']['text_value']

(β€» input type은 ꡉμž₯히 λ§Žλ‹€. ν•΄λ‹Ή μ‚¬μ΄νŠΈμ—μ„œ input tag μ’…λ₯˜λ₯Ό ν•œλ²ˆμ”© ν™•μΈν•˜μž)

3. form tag μ•ˆ crsf template tag 을 μΆ”κ°€ν•œλ‹€.

(template tag λŠ” django 만 μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. )

<form>
    {% csrf_token %}
</form>

4. select box (option)

select box 정보λ₯Ό form 에 λ„£μ–΄μ„œ 솑신할렀면 form attribute 을 form tag 의 id 와 λ™μ„ν•˜κ²Œ λ§žμΆ°μ•Ό ν•œλ‹€.

usage 1

<form action="{% url 'polls:search_questions' %}" method="post" id="row_search">
    <select name="field" form="row_search">
        {% for field in valid_fields %}
        <option>{{field}}</option>
        {% endfor %}
    </select>
</form>

usage 2

<form action="{% url 'polls:search_questions' %}" method="post" id="column_search">
  ... 
</form>
<select name="select_query" form="column_search">
  ... 
</select>

usage 1, usage 2 μ—μ„œ λ³΄μ΄λŠ”κ²ƒκ³Ό 같이 <select> 은 <form> μ•ˆμ— μžˆλ“  밖에 μžˆλ“  상관 μ—†λ‹€

5. submit 을 μƒμ„±ν•œλ‹€.

<input type="submit" value="search">


전체 μ½”λ“œ μƒ˜ν”Œ

<form action="{% url 'polls:search_questions' %}" method="post" id="row_search">
    {% csrf_token %}
    검색 column λͺ… :

    <select name="field" form="row_search">
        {% for field in valid_fields %}
        <option>{{field}}</option>
        {% endfor %}
    </select>

    <input type="text" value="값을 μž…λ ₯ν•˜μ„Έμš”" name="text_value">
    <input type="submit" value="search">
</form>
⚠️ **GitHub.com Fallback** ⚠️