doctris base template - pai-plznw4me/django-initializer GitHub Wiki
๋ณธ ๋ฌธ์๋ doctris web base template ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ django ์น ํ๋ก๊ทธ๋จ์ ์ ์ฉํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์์ต๋๋ค.
[git page : layouts](https://github.com/pai-seocho/django-tutorial/tree/master/layouts)
โ ๏ธ ํด๋น ๋ฌธ์๋ doctris base template ์ ์ฌ์ฉํด ๊ฐ๋ฐ์ ํ๋๊ฐ๋ฐ์์ฉ ๋ฌธ์์ ๋๋คโ ๏ธ ์์ํ๊ธฐ์ ์์doctris_base์ ์ ์ฉํ๊ณ ์ ํ๋django ํ๋ก์ ํธ๊ฐ ์ค๋น๋์ด ์์ด์ผ ํฉ๋๋ค. (ํด๋น ๋ฌธ์์์๋doctris_base์ ์ ์ฉํ๊ณ ์ ํ๋ ํ๋ก์ ํธ ๋ช ์my_project๋ผ ๋ช ๋ช ํฉ๋๋ค.)- ํด๋น ๋ฌธ์๋ฅผ ์ฝ๊ณ ์ ์ฉํ๊ธฐ ์ํด์๋ Django ์ ๋ํ ๊ธฐ๋ณธ ์ง์์ด ํ์ํฉ๋๋ค.
(๋ง์ฝ ํด๋น ์ง์์ด ์๋ค๋ฉด
django-tutorial git wiki>1.Start๋จ์์ ์ฐธ์กฐํด์ฃผ์ธ์) - ํด๋น ๋ฌธ์๋ฅผ ํตํด ์ป์์ ์๋ ์ง์์ ์๋์ ๊ฐ์ต๋๋ค.
- doctris base template ์ ํ์ฉํด ๊ฐ๋ฐ์ ์์ ํ ์ ์์ต๋๋ค.
- base template ๋ด ์๋์ ๊ฐ์ ํญ๋ณต๋ค์ ์ฌ์ฉ์ ๋ชฉ์ ์ ๋ง๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- Top navigation
- dropdown menu ๋ณ๊ฒฝ
- ์ด์ธ ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฐฉ๋ฒ
- Side nvaigation
- side menu ๋ณ๊ฒฝ
- logo ๋ณ๊ฒฝ
- side navi content ๋ณ๊ฒฝ
- footer
- footer ๋ณ๊ฒฝ ๋ฐฉ๋ฒ
- content
- content ์ถ๊ฐ ๋ฐฉ๋ฒ
- Top navigation
-
django-tutorial>layouts>doctris_baseํด๋๋ฅผmy_project์ ๋ณต์ฌํฉ๋๋ค. (ํ๋ก์ ํธ ๋ ๋ฒจ์ ๋ณต์ฌํฉ๋๋ค.)mv django-tutorial/layouts/doctris_base . rm -rf django-tutorial -
Settings.pyINSTALLED_APPS์app์ ๋ฑ๋กํฉ๋๋ค.INSTALLED_APPS = [ ... 'doctris_base', ]
-
project url์ doctors_base url ์ ๋ฑ๋กํฉ๋๋ค.urlpatterns = [ ... path('doctris_base/', include('doctris_base.urls'), name='doctris_base'), ]
-
์๋ฒ ์์ํ๊ธฐ
python manage.py runserver
{my_project}
|- doctris_base
|- templates
|- doctris_base
|- base.html
|- footer.html
|- side_navi.html
|- top_navi.html
{my_project}
|- doctris_base
|- templates
|- doctris_base
|- top_navi.html <--
-
Top navigation์left side๋๋right side์ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ถ๊ฐ ํ ์ ์๋ค. -
left sideclose sidebarSearch bar
-
right sideclose sidebarSearch bar
-
{# close sidebar start #}๊ฒ์
{# close sidebar start #}
<a id="close-sidebar" class="btn btn-icon btn-pills btn-soft-primary ms-2" href="#">
<i class="uil uil-bars"></i>
</a>
{# close sidebar end #}-
{# search bar start #}๊ฒ์
{# search bar start #}
<div class="search-bar p-0 d-none d-lg-block ms-2">
<div id="search" class="menu-search mb-0">
<form role="search" method="get" id="searchform" class="searchform">
<div>
<input type="text" class="form-control border rounded-pill" name="s" id="s"
placeholder="Search Keywords...">
<input type="submit" id="searchsubmit" value="Search">
</div>
</form>
</div>
</div>
{# search bar end #}-
{# left side start #}๊ฒ์
<div class="d-flex align-items-center">
{# left side start #}
<li class="list-inline-item mb-0 ms-1">
<div>ํ๊ธธ๋</div>
</li>
{# left side End #}
</div>-
{# dropdown profile start #}๊ฒ์
-
{# dropdown profile start #}๊ฒ์ํด ์๋ ์ฝ๋์์ ๋ณ๊ฒฝ,fix_me๋ณ๊ฒฝ
{# dropdown profile start #}
<a class="dropdown-item d-flex align-items-center text-dark" href="profile.html">
{# ํ๋กํ ์ด๋ฏธ์ง #}
<img src="<fix_me>"
class="avatar avatar-md-sm rounded-circle border shadow" alt="">
{# ํ๋กํ ์ ๋ณด #}
<div class="flex-1 ms-2">
<span class="d-block mb-1">fix_me</span> <!-- ๋ณ๊ฒฝ -->
<small class="text-muted">fix_me</small> <!-- ๋ณ๊ฒฝ -->
</div>
</a>
{# dropdown profile end #}-
{# Right side start #}๊ฒ์
<ul class="list-unstyled mb-0">
{# Right side start #}
{# Right side end #}
</ul> {my_project}
|- doctris_base
|- templates
|- doctris_base
|- side_navi.html <--
- {
# Logo start #}~{# Logo end #}๋ณ๊ฒฝ
{# Logo start #}
<div class="sidebar-brand">
<a href="{% url '{fixme}' %}"> <!-- ๋ก๊ณ ํด๋ฆญ์ ์ด๋๋๋ ํ์ด์ง -->
<img src="{% static '{fixme}' %}" height="28" class="logo-light-mode" alt=""> <!-- ๋ก๊ณ ์ด๋ฏธ์ง ๊ฒฝ๋ก -->
</a>
</div>
{# Logo end #}
-
<!-- sidebar-menu Start -->~<!-- sidebar-menu End -->์ฌ์ด๋ฅผ ๋ณ๊ฒฝ- ๋ฉ๋ด๋
nested mene์single menu๋ก ๊ตฌ์ฑ
- ๋ฉ๋ด๋
<!-- sidebar-menu Start -->
<ul class="sidebar-menu pt-3">
{# ์ ํ๋ ๋ฉ๋ด #}
<li class="sidebar-dropdown">
<a href="javascript:void(0)"><i class="uil uil-user me-2 d-inline-block"></i>fixme_๋ฉ๋ด์ด๋ฆ</a>
<div class="sidebar-submenu">
<ul>
<li><a href="fixme">fixme_์๋ธ๋ฉ๋ด์ด๋ฆ1</a></li>
<li><a href="fixme">fixme_์๋ธ๋ฉ๋ด์ด๋ฆ2</a></li>
</ul>
</div>
</li>
{# ๋จ์ผ ๋ฉ๋ด #}
<li>
<a href="fixme">
<i class="uil uil-apps me-2 d-inline-block"></i>
fixme_๋ฉ๋ด์ค๋ช
</a>
</li>
</ul>
<!-- sidebar-menu End -->
-
<li>tag ์ ํ์ฉํด ๊ธฐ๋ฅ ์ถ๊ฐ ๊ฐ๋ฅ
<!-- sidebar-content Start -->
<ul class="sidebar-footer list-unstyled mb-0">
{# Chatting start #}
<li class="list-inline-item mb-0 ms-1">
<a href="#" class="btn btn-icon btn-pills btn-soft-primary">
<i class="uil uil-comment icons"></i>
</a>
</li>
{# Chatting end #}
{# ๊ธฐ๋ฅ ์ถ๊ฐ ์์ #}
{# ๊ธฐ๋ฅ ์ถ๊ฐ ๋ #}
</ul>
<!-- sidebar-content end -->{my_project}
|- doctris_base
|- templates
|- doctris_base
|- footer.html <--
-
{# Footer message start #}~{# Footer message end #}๋ด ํ๊ทธ ๋ณ๊ฒฝ
{% load static %}
<!-- Footer Start -->
<footer class="bg-white shadow py-3">
<div class="container-fluid">
<div class="row align-items-center">
<div class="col">
{# Footer message start #}
<div class="copyright">ยฉ Copyrights <a href="https://publicai.co.kr/">PublicAI</a> 2022. All rights
reserved. Designed by <a
href="https://publicai.co.kr/">PublicAI</a></div>
{# Footer message End #}
</div><!--end col-->
</div><!--end row-->
</div><!--end container-->
</footer><!--end footer-->
content ์์ญ ์ base.html ๋ด ์ ์๋์ด ์์.
<div class="container-fluid">
<!-- Start Contnet -->
{% block contents %}
{% endblock %}
<!-- End Contnet -->
</div>-
doctris_base/base.html์ ํ์ฅ -
myapp ์ sample.html ์
{proejct} |-doctris_base |-myapp |-templates |-myapp |-sample.html <--- ํด๋น ํ์ผ์ ์๋ ์ฝ๋ ์ถ๊ฐ{% extends 'doctris_base/base.html' %} {% load static %} {% block contents %} <!-- ์ฌ๊ธฐ์ ์๋ง์ ๋ด์ฉ์ ์ถ๊ฐ --> "Extended Complete!" {% endblock %} {% block js %} {% endblock %}
- ์คํ ๊ฒฐ๊ณผ
- ์คํ ๊ฒฐ๊ณผ