[DjangoBasic] 장고 스타일 활용하기


장고에서 스타일(Style) 활용하기

구조 만들기


Utilities - templates - utilities - base.html 생성 및 코드 작성

다른 페이지가 base.html 파일을 상속을 받는다.


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Utilities Base</title>
</head>
<body>
    <header>
        <h1>Utilities Base</h1>
    </header>

    <section>  <!--index.html 부분이라고 생각하면 된다. -->
        {% block body %}
        {% endblock %}
    </section>

    <footer>
        <p>Copyright @ 2019</p>
    </footer>
</body>
</html>

Utilities - templates - utilities - index.html 코드 수정

기존

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>

    <h1>Welcom to index of Utilities</h1>

</body>
</html>

변경


{% extends 'utilities/base.html' %} 
<!--Utilities - templates 안에서 파일을 찾는다. +'경로('utilities/base.html')' -->

{% block body %}
    <h2>Welcome to Utilities Page ;)</h2>
{% endblock %}


서버를 실행 후 http://127.0.0.1:8000/utilities/index/ 접속하면 index.html을 상속 받은 base.html을 볼 수 있다.

특이한건 F12 키 누른 후 개발자모드로 보면 index.html 정보가 없이 header와 footer만 볼 수 있다.

Utilities - static - stylesheets - base.css 파일 생성 및 코드 작성

h2 {
    color: yellow;
}

base.html 코드 수정


{% load static %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Utilities Base</title>

    <!--CSS 파일 불러오는 주소 static 적고 '경로' 표시 -->
    <link rel="stylesheet" href="{% static 'stylesheets/base.css' %}" type="text/css">

</head>
<body>
    <header>
        <h1>Utilities Base</h1>
    </header>

    <section>  <!--index.html 부분이라고 생각하면 된다. -->
        {% block body %}
        {% endblock %}
    </section>

    <footer>
        <p>Copyright @ 2019</p>
    </footer>
</body>
</html>

index.html에서 작성한 스타일을 base.html이 상속을 받아서 코드 한줄로 표현 할 수 있다.

서버 실행


서버 실행 후 아래와 같이 결과가 나온다.

환경


macOS Mojave 10.14.5, python 3.6.8, django 2.2.1, PyCharm CE 2018.3.7.






© 2020. GANGPRO. All rights reserved.