728x90
프로젝트 디렉터리 구조
fastapi | |||||
todoapp | |||||
main.py database.py models.py todos.db |
templates | static | routers | ||
todo | |||||
css | js | ||||
home.html add-todo.html edit-todo.html login.html register.html layout.html navbar.html |
base.css bootstrap.css |
bootstrap.js jquery-slim.js popper.js |
auth.py todos.py |
추가적으로 코드를 분리해서 간결하게 만들어보자
templates 디렉터리 하위에 navbar.html 생성
1. navbar.html 수정
layout.html에서 navbar 부분만 잘라내서 붙인다.
<div>
<nav class="navbar navbar-expand-md navbar-dark main-color fixed-top">
<a class="navbar-brand" href="#">Todo App</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home </a>
</li>
</ul>
</div>
</nav>
</div>
2. layout.html 수정
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', path='/todo/css/base.css') }}">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', path='/todo/css/bootstrap.css') }}">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>TodoApp</title>
</head>
<body>
{% include 'navbar.html' %}
{% block content %}
{% endblock %}
<!--순서상 jquery를 먼저-->
<script src="{{ url_for('static', path='/todo/js/jquery-slim.js') }}"></script>
<script src="{{ url_for('static', path='/todo/js/popper.js') }}"></script>
<script src="{{ url_for('static', path='/todo/js/bootstrap.js') }}"></script>
</body>
</html>
앞서 수행했던 레이아웃 작업과 똑같이 home.html이 호출될 때 navbar가 포함돼서 렌더링 된다.
728x90
SMALL
'Develop > FastAPI' 카테고리의 다른 글
FastAPI 프로젝트 진행(데이터 생성 API, RedirectResponse) - 85 (0) | 2023.01.29 |
---|---|
FastAPI 프로젝트 진행(HTML 렌더링, DB 연결)- 84 (0) | 2023.01.29 |
FastAPI 프로젝트 진행(레이아웃) - 82 (0) | 2023.01.26 |
FastAPI 프로젝트 진행(HTML 렌더링 API 생성)- 81 (0) | 2023.01.26 |
FastAPI 프로젝트 진행(로그인, 회원가입 프론트 구현) - 80 (0) | 2023.01.25 |