Django Project #3

yjshin·2022년 11월 15일
0

Django

목록 보기
3/8

aaa 출력이 아닌 우리가 만든 웹 화면을 출력하기 위한 작업 진행

  1. textsolution App에 templates Directory 생성


  1. textsolution App에서 생성된 templates Directory에
    textsolution App 이름과 동일한 이름의 Directory 생성


  1. home.html 파일 생성


  1. textsolution App 경로에서 views.py Code 수정

textsolution\views.py

from django.shortcuts import render
# Create your views here.

def home(request):
    return render(request, 'textsolution/home.html')
  • Django에서는 자동으로 templates 경로를 읽어주기 때문에
    'textsolution/home.html'와 같이 작성해주면 된다.

  • templates 경로 아래 앱 이름과 같은 디렉토리를 설정한 이유는
    다른 앱과의 충돌 방지
    관습 - 한 프로젝트 내에 앱이 여러개가 돌 수 있기 때문에
    다른 앱의 home.html으로 실수도 접근하지 않도록 하기 위해

  1. base.html 생성 및 Code 수정

    textsolution\templates\textsolution\base.html


base.html에서 body tag 안에 아래 코드 입력

{% block content %}
{% endblock %}

<!doctype html>
<html lang="ar" dir="rtl">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.rtl.min.css" integrity="sha384-7mQhpDl5nRA5nY9lr8F1st2NbIly/8WqhjTp+0oFxEA/QUuvlbF6M1KXezGBh3Nb" crossorigin="anonymous">

    <title>Hello World!</title>
  </head>
  <body>
    <h1>Hello World!</h1>

    {% block content %}
    {% endblock %}

    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.min.js" integrity="sha384-IDwe1+LCz02ROU9k972gdyvl+AESN10+x7tBKgc9I5HFtuNz0wWnPclzo6p9vxnk" crossorigin="anonymous"></script>
    -->
  </body>
</html>
  1. home.html Code 수정

    textsolution\templates\textsolution\home.html

{% extends 'textsolution/base.html' %}

{% block content %}
{% endblock %}

home.html을 부를 때 base.html 내용 모두 불러옴
base.html 파일을 생성하는 이유 - 중복된 부분을 base.html 파일에서 처리

* Django template tag

{% url 'home' %} -> url 파일에 name이 home인 부분을 실행
{% for i in list %} -> for문 돌리기
{{ a }} -> 지정된 값에 대한 표현을 할 때 사용

{{ a }}
{% url 'home' %}
{% for i in list %}
profile
study

0개의 댓글