관리 메뉴

Storage Gonie

16. (app1) Django MTV연동하기 본문

웹개발/Django 웹서비스 개발(인프런)

16. (app1) Django MTV연동하기

Storage Gonie 2019. 2. 9. 20:07
반응형

출처 : https://www.inflearn.com/course/django-파이썬-장고-강좌/장고와-mtv/



1. views.py 에서 아래의 함수를 추가하던 수정하던 해준다.

def index2(request):
lottos = GuessNumbers.objects.all()
return render(request, "lotto/default.html", {"lottos" : lottos}) # 마지막 괄호에 있는건 딕셔너리 형태로 {}상태로 그냥 놔둬도 무관.


2. templates/lotto/에 있는 default.html에서 위에서 넘겨받을 정보를 넣고자 하는 위치에  pre 태그와 이중 {{ }}로 삽입해준다.

- pre 태그는 html에서 입력한 대로 보여주는 역할을 함.

- 그런 뒤 동일 페이지에 접속하면 아래와 같이 변경됨

<body>
<div class="page-header">
<pre>{{lottos}}</pre>
<h1>My Lotto Page</h1>



3. html에서 Iteration 구현하기

- Iteration은 {% %} {% %} 를 이용해 구현되고 이에 사용되는 문법은 python과 비슷하다.

- linebreaksbr은 문자열에 들어있는 '\n'개행문자를 반영하여 보여준다.

<div class="container lotto">
<h2>당첨 기원 (2)</h2>
<p> last update:2000/1/1</p>
<p> 1, 10, 15, 20, 30 </p>
</div>
<div class="container lotto">
{% for lotto in lottos %}
<h2>{{lotto.text}}</h2>
<p> {{lotto.update_date}}</p>
<p> {{lotto.lottos|linebreaksbr}}</p>
{% endfor %}
</div>




반응형
Comments