[django] 점프 투 장고 - 장고 기초 8

Joy·2020년 6월 17일
0

Django | 점프투장고

목록 보기
10/22

부트스트랩

프레임워크 부트스트랩 사용해서 디자인 용이하게.




부트스트랩 설치

파일 중 bootstrap.min.css 파일을 카피하여 mystie내 스태틱 디렉터리에 저장



부트스트랩 적용

탬플릿 상단에 부트스트랩 스타일 싱크 링크하면 사용 가능.

목록조회 페이지

  • 목록 조회 템플릿에 부트스트랩 적용하기
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'bootstrap.min.css' %}">
  • 내용 BS로 작성
<div class="container my-3">
    <table class="table">
        <thead>
        <tr class="thead-dark">
            <th>번호</th>
            <th>제목</th>
            <th>작성일시</th>
        </tr>
        </thead>
        <tbody>
        {% if question_list %}
        {% for question in question_list %}
        <tr>
            <td>{{ forloop.counter }}</td>
            <td>
                <a href="{% url 'pybo:detail' question.id %}">{{ question.subject }}</a>
            </td>
            <td>{{ question.create_date }}</td>
        </tr>
        {% endfor %}
        {% else %}
        <tr>
            <td colspan="3">질문이 없습니다.</td>
        </tr>
        {% endif %}
        </tbody>
    </table>
</div>

ul 테그 대신 테이블 구조로. 번호, 제목 작성일시도 추가. 부트스트랩 클리스도 활용.



결과:



상세 페이지

  • 상세페이지도 부트스트랩 적용
<div class="container my-3">
    <h2 class="border-bottom py-2">{{ question.subject }}</h2>
    <div class="card my-3">
        <div class="card-body">
            <div class="card-text" style="white-space: pre-line;">{{ question.content }}</div>
            <div class="d-flex justify-content-end">
                <div class="badge badge-light p-2">
                    {{ question.create_date }}
                </div>
            </div>
        </div>
    </div>
    <h5 class="border-bottom my-3 py-2">{{question.answer_set.count}}개의 답변이 있습니다.</h5>
    {% for answer in question.answer_set.all %}
    <div class="card my-3">
        <div class="card-body">
            <div class="card-text" style="white-space: pre-line;">{{ answer.content }}</div>
            <div class="d-flex justify-content-end">
                <div class="badge badge-light p-2">
                    {{ answer.create_date }}
                </div>
            </div>
        </div>
    </div>
    {% endfor %}
    <form action="{% url 'pybo:answer_create' question.id %}" method="post" class="my-3">
        {% csrf_token %}
        <div class="form-group">
            <textarea name="content" id="content" class="form-control" rows="10"></textarea>
        </div>
        <input type="submit" value="답변등록" class="btn btn-primary" />
    </form>
</div>

결과:

profile
roundy

0개의 댓글