728x90
템플릿 상속 : 복붙 줄이기
1) 프로젝트 폴더에 templates 만들기 (app에 만든거랑 다른것이다!!!!!!!!!!) (settings.py in project있는 위치에!)
2) templates 안에 base.html 만들기
3) settings.py에 알려주기 우리가 만든 templates이니까
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['blogproject/templates'],
주의!!!!! 내가 만든 프로젝트의 이름 쓰기
나는 week4_blog_project라고 써야해
4) base.html
<!-- 중복 코드 -->
여기에 컨텐츠가 올 예정입니다
{% block contents %} //sidebar title 다양한걸 쓸 수 있다. 걍 이름
{% endblock %}
코드를 써놓고 컨텐츠가 올 곳에 방석을 깔아둔다고 생각하면 됨.
contents는 걍 이름임. '다희'라는 애가 여기올 것이니 '다희'가 오면 이 방석에 앉혀라!
<body> 이런 태그 위치 잘 선정~
5) home.html
{% extends 'base.html' %} <!-- 모든 태그에 비해서 우선순위가 높은 extends 태그! -->
{% block contents %}
~~~~
{% endblock %}
============================================================================================
URL의 효율적 관리
여러가지 앱의 URL을 한 프로젝트의 urls.py에서 관리하니 비효율적!
각 앱의 urls.py에서 관리하자~
1) blogapp 안에 urls.py 파일 만들기
2) urls.py in blogapp
from django.contrib import admin
from django.urls import path
# import blog.views, portfolio.views # 아래와 같음
from . import views
urlpatterns = [
path('<int:blog_id>', views.detail, name="detail"),
path('new', views.new, name="new"),
path('create', views.create, name="create"),
]
원래 blog/new 였는데 걍 new로, 3)에서 blog/를 해줬기 때문!
blog.views.new였는데 걍 views.new로
느낌알지?
3) urls.py in project
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', blog.views.home, name='home'),
path('blog/', include('blog.urls')),
path('portfolio/', portfolio.views.portfolio, name="portfolio"),
]
app 이름이 blogapp이면 blogapp.urls라고 적어야함. (당연한 소리)
'Development > Django(멋쟁이사자처럼 7기 운영진)' 카테고리의 다른 글
[멋사7기] 5주차 - 3, 4. Pagination 이론, 실습 (0) | 2019.02.10 |
---|---|
[멋사7기] 5주차 - 1, 2. 로그인, 회원가입 이론, 실습 (0) | 2019.02.09 |
[멋사7기] 4주차 - 6. portfolio (media) (0) | 2019.02.03 |
[멋사7기] 4주차 - 5. portfolio (static) (0) | 2019.02.03 |
[멋사7기] 4주차 - 3. blog project 1, 2 (0) | 2019.01.30 |