1. HTML 중복 코드 방지
프로젝트의 폴더에서 templates 폴더를 만들고 그 곳에 base.html 파일을 작성해준다
반복되서 사용될 html 코드 내용을 작성해주고(navbar, footer 등)
본문 내용이 들어갈 부분을 {% block content%} {% endblock %} 으로 묶어준다
그리고 원래의 template 파일에 가서 본문에 해당하는 내용만 {% block content%} {% endblock %} 으로 감싸고
html의 시작부분에 {% extends 'base.html' %}을 작성해준다
그리고 base.html의 위치를 알려주기 위해
settings.py에 다음의 코드를 추가합니다
1 2 3 4 5 6 7 8 | # settings.py TEMPLATES= [ { ... 'DIRS' :['project/templates'], ... } ] | cs |
2. URL 정리
url을 해당 app 별로 관리하기 위해 각각의 app 내에 urls.py 파일을 만들어 준다
그리고 각 app에 해당하는 부분만 다음과 같이 옮긴다
1 2 3 4 5 6 7 8 9 10 | project/app/urls.py from django.urls import path from . import views urlpatterns = [ path('<int:blog_id>/', views.detail, name='detail'), path('new/', views.new, name='new'), path('create/', views.create, name='create'), ] | cs |
그리고 원래의 url은 다음과 같이 수정해준다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | project/urls.py from django.contrib import admin from django.urls import path, include import blog.views import portfolio.views urlpatterns = [ path('admin/', admin.site.urls), path('', blog.views.home, name='home'), path('blog/', include('blog.urls')), path('portfolio/', portfolio.views.portfolio, name='portfolio'), ] | cs |
'Web Programming > Django' 카테고리의 다른 글
로그인 & 회원가입 (0) | 2019.02.09 |
---|---|
가짜 데이터 만들기(Faker 패키지) (0) | 2019.02.09 |
Portfolio 프로젝트 (Static 파일 처리) (0) | 2019.02.02 |
Blog 완성하기 (글 작성하기) (0) | 2019.02.02 |
Home & Detail (Blog 모델 상세 페이지) (0) | 2019.01.31 |