Database seeding
모델에 요소 추가하는 법 : 1. 관리자 페이지에서 추가 / 2. 장고 shell에서 추가/ 3. loaddata와 dumpdata 명령어 사용
-> 1.2는 일일이 저장하는 방식이라 데이터가 많아지면 번거로움
따라서 많은 데이터를 저장할 땐 3 방식을 쓴다!
1. : models.py 내용을 admin.py에 가져와야 한다.
3. json: 자바스크립트의 object로 쓰이고 있는 key와 value
<템플릿 적용하기>
vscode에서 만든 프론트엔드 form.html, index.html, result.html 파일들에 템플릿 태그들을 입힌 후에 templates로 이동시켜함 -> {% load static %} 달기 ( index.html에서 css를 css 폴더에서 가져오는 게 아니라서)
index.html
<div class="data_wrap">
<h3>참여자 수</h3>
<ul>
<li>백엔드 개발자 : 0명</li>
<li>프론트엔드 개발자 : 0명</li>
<li>데이터 분석과 인공지능 : 0명</li>
<li>정보보안 : 0명</li>
<li>게임 개발 : 0명</li>
</ul>
</div>
frontend 작업하면서 적은 위와 같은 코드를 backend에서 model의 data이용해 표현한 형식으로 바꾸기
<div class="data_wrap">
<h3>참여자 수</h3>
<ul>
<li>{% for developer in developers %}
<p>
{{developer.name}} : {{developer.count}}명
</p>
{% endfor %}
</li>
</ul>
</div>
<form.html>
- 기존
<div class="btn_wrap">
<button class="next_btn">다 음</button>
</div>
<div class="btn_wrap btn_sort">
<button class="prev_btn">이 전</button>
<button class="next_btn">다 음</button>
</div>
<div class="btn_wrap btn_sort">
<input type="submit" value="제출" class="submit_btn">
</div>
데이터들을 변수와 for,if 태그를 이용해 채워주기!
- 바꾼 후
{% if not forloop.first %}
<div class="btn_wrap btn_sort">
{% else %}
<div class="btn_wrap">
{% endif %}
{% if not forloop.first %}
<button class="prev_btn">이전</button>
{% endif %}
{% if not forloop.last %}
<button class="next_btn">다음</button>
{% else %}
<input type="submit" value="제출" class="submit_btn">
{% endif %}
오류 정리
-가상환경 실행 안시키고 명령어 입력했던 걸 나중에 알아차림
2. Question으로 받아야하는데 Questions로 받음 -> no attribute error 뜸 (model에 Question으로 정의 but view에서 Questions.get.objects 입력함...