장고의 코드를 다 아는 것도 중요하지만 흐름을 아는 것이 가장 중요하다
1. urls 를 통해 입력이 들어온다
- urls.py 파일에서 해당 url로의 입력이 들어올 경우에 어떻게 넘겨줄 것인지 지정해 준다.
2. views를 관리
- views.py를 통해 url을 타고 들어온 사용자에게 보이는 영역을 어떻게 처리할 것인지 정해준다.
- DB에 저장하는 파트를 여기서 작성하면 된다.
- render를 통해 html 파일로 값을 넘겨줄 수 있다.
- redirect에 값을 넘겨줘서 이를 받아 호출하면 여러 페이지 반복 연결이 가능해진다.
3. views를 통해 연결된 HTML 코드를 보여준다.
- css, js를 link, script로 연결받을 수 있다.
- extends , include를 통해 반복되는 코드의 재사용성을 높일 수 있다.
추가 내용
- extends를 통해 원하는 구역에 상속이 가능하다. 이를 잘 사용하면 중복된 코드 사용을 줄일 수 있다.
- 마찬가지로 장고의 경우 중복된 html 코드를 html 파일로 만들어 include 할 수 있다.
{% include 'form_errors.html' %}
- answer, question form의 에러처리를 하는 코드를 html 코드로 만든다
<!-- 오류표시 Start -->
{% if form.errors %}
<div class="alert alert-danger" role="alert">
{% for field in form %}
{% if field.errors %}
<div>
<strong>{{ field.label }}</strong>
{{ field.errors }}
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}
<!-- 오류표시 End -->
- 원하는 위치에 include 해주면 동일하게 적용됨을 볼 수 있다.