“blog 홈페이지” 만들기 단계에서 생성한 첫 페이지의 디자인에 맞추어 bookmakr, blog 앱을 수정하기 위한 단계이며, base.html 파일을 상속받아 사용하면 되므로 모델, 뷰는 변경 사항이 없으며 템플릿 파일만 수정
추가할 기능
base.html 은 모든 페이지에 공통으로 사용되는 것
변경 사항
### 위치 이동
cd /Users/user/test/django/project/web/templates
### base.html
vi base.html
---
### 기존 코드
<div id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">Bookmark</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Photo</a></li>
<li><a href="#">Add▽</a>
<ul>
<li><a href="#">Bookmark</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Photo</a></li>
</ul>
</li>
<li><a href="#">Change▽</a>
<ul>
<li><a href="#">Bookmark</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Photo</a></li>
</ul>
</li>
<li><a href="#">Archive</a></li>
<li><a href="#">Search</a></li>
<li><a href="#">Admin</a></li>
</div>
### 수정 후, 코드
<div id="menu">
<li><a href="{% url 'home' %}">Home</a></li>
<li><a href="{% url 'bookmark:index' %}">Bookmark</a></li>
<li><a href="{% url 'blog:index' %}">Blog</a></li>
<li><a href="#">Photo</a></li>
<li><a href="#">Add▽</a>
<ul>
<li><a href="#">Bookmark</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Photo</a></li>
</ul>
</li>
<li><a href="#">Change▽</a>
<ul>
<li><a href="#">Bookmark</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Photo</a></li>
</ul>
</li>
<li><a href="{% url 'blog:post_archive' %}">Archive</a></li>
<li><a href="#">Search</a></li>
<li><a href="{% url 'admin:index' %}">Admin</a></li>
</div>
변경된 내용 정리 ( Home, Bookmark, Blog, Archive, Admin )
모든 페이지에 공통으로 적용되는 home.html
애플리케이션 링크 수정
### 위치 이동
cd /Users/user/test/django/project/web/templates
### home.html
vi home.html
---
### 기존 코드
<table id="applist">
<tr>
<td><b><i><a href="#">Bookmark</a></i></b></td>
<td>You can write your own post and share to others. Donec id elit non miporat gravida at eget metus. Fusce dapibus, tellus ac cursus commodo</td>
<td class="Edit"><i><a href="#">Add</a></i></td>
<td class="Edit"><i><a href="#">Change</a></i></td>
</tr>
<tr>
<td><b><i><a href="#">Blog</a></i></b></td>
<td>You can write your own post and share to others. Donec id elit non miporta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo</td>
<td class="Edit"><i><a href="#">Add</a></i></td>
<td class="Edit"><i><a href="#">Change</a></i></td>
</tr>
</table>
### 수정 후, 코드
<table id="applist">
<tr>
<td><b><i><a href="{% url 'bookmark:index' %}">Bookmark</a></i></b></td>
<td>You can write your own post and share to others. Donec id elit non miporat gravida at eget metus. Fusce dapibus, tellus ac cursus commodo</td>
<td class="Edit"><i><a href="#">Add</a></i></td>
<td class="Edit"><i><a href="#">Change</a></i></td>
</tr>
<tr>
<td><b><i><a href="{% url 'blog:index' %}">Blog</a></i></b></td>
<td>You can write your own post and share to others. Donec id elit non miporta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo</td>
<td class="Edit"><i><a href="#">Add</a></i></td>
<td class="Edit"><i><a href="#">Change</a></i></td>
</tr>
</table>
base.html 을 상속받도록 bookmark_list.html 파일을 수정
### 위치 이동
cd /Users/user/test/django/project/web/bookmark/templates/bookmark
### bookmark_list.html
vi bookmark_list.html
---
### 기존 코드
<!DOCTYPE html>
<html>
<head>
<tile>Django Bookmark List</title>
</head>
<body>
<div id="content">
<h1>Bookmark List</h1>
<ul>
{% for bookmark in object_list %}
<li><a href="{% url 'detail' bookmark.id %}">{{ bookmark }}</a></li>
{% endfor %}
</ul>
</div>
</body>
</html>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}Django Bookmark List{% endblock %}
{% block content %}
<div id="content">
<h1>Bookmark List</h1>
<ul>
{% for bookmark in object_list %}
<li><a href="{% url 'bookmark:detail' bookmark.id %}">{{ bookmark }} </a></li>
{% endfor %}
</ul>
</div>
{% endblock %}
base.html 을 상속 받을 수 있도록 수정
### 위치 이동
cd /Users/user/test/django/project/web/bookmark/templates/bookmark
### bookmark_detail.html
vi bookmark_detail.html
---
### 기존 코드
<!DOCTYPE html>
<html>
<head>
<title>Django Bookmark Detail</title>
</head>
<body>
<div id="content">
<h1>{{ object.title }} </h1>
<ul>
<li>URL: <a href="{{ object.url }}">{{ object.url }}</a></li>
</ul>
</div>
</body>
</html>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}Django Bookmark Detail{% endblock %}
{% block content %}
<div id="content">
<h1>{{ object.title }} </h1>
<ul>
<li>URL: <a href="{{ object.url }}">{{ object.url }}</a></li>
</ul>
</div>
{% endblock %}
base.html 을 상속 받도록 post_all.lhtml 수정
### 위치 이동
cd /Users/user/test/django/project/web/blog/templates/blog
### post_all.html
vi post_all.html
---
### 기존 코드
<h1>Blog List</h1>
{% for post in posts %}
<h2><a href='{{ post.get_absolute_url }}'>{{ post.title }}</a></h2>
{{ post.modify_date|date:"N d, Y" }}
<p>{{ post.description }}</p>
{% endfor %}
<br/>
<div>
<span>
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}">PreviousPage</a>
{% endif%}
Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">NextPage</a>
{% endif %}
</span>
</div>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}post_all.html{% endblock %}
{% block content %}
<div id="content">
<h1>Blog List</h1>
{% for post in posts %}
<h2><a href='{{ post.get_absolute_url }}'>{{ post.title }}</a></h2>
{{ post.modify_date|date:"N d, Y" }}
<p>{{ post.description }}</p>
{% endfor %}
<br/>
<div>
<span>
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}">PreviousPage</a>
{% endif %}
Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">NextPage</a>
{% endif %}
</span>
</div>
{% endblock %}
base.html 을 상속 받도록 post_detail.html 파일을 수정
### 위치 이동
cd /Users/user/test/django/project/web/blog/templates/blog
### post_detail.html
vi post_detail.html
---
### 기존 코드
<h2>{{ object.title }}</h2>
<p class="other_posts">
{% if object.get_previous_by_modify_date %}
<a href="{{ object.get_previous_post.get_absolute_url }}" title="View previous post"> «--{{ object.get_previous_post }}</a>
{% endif %}
{% if object.get_next_by_modify_date %}
| <a href="{{ object.get_next_post.get_absolute_url }}" title="View next post">{{ object.get_next_post }}–»
{% endif %}
</p>
<p class="date">{{ object.modify_date|date:"j F Y" }}</p>
<br/>
<div class="body">
{{ object.content|linebreaks }}
</div>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}post_detail.html{% endblock %}
{% block content %}
<div id="content">
<h2>{{ object.title }}</h2>
<p class="other_posts">
{% if object.get_previous_by_modify_date %}
<a href="{{ object.get_previous_post.get_absolute_url }}" title="View previous post"> «--{{ object.get_previous_post }}</a>
{% endif %}
{% if object.get_next_by_modify_date %}
| <a href="{{ object.get_next_post.get_absolute_url }}" title="View next post">{{ object.get_next_post }}--»</a>
{% endif %}
</p>
<p class="date">{{ object.modify_date|date:"j F Y" }}</p>
<br/>
<div class="body">
{{ object.content|linebreaks }}
</div>
{% endblock %}
base.html 을 상속 받도록 post_archive.html 파일을 수정
### 위치 이동
cd /Users/user/test/django/project/web/blog/templates/blog
### post_archive.html
vi post_archive.html
---
### 기존 코드
<h1>Post Archives until {% now "N d, Y" %}</h1>
<ul>
{% for date in date_list %}
<li style="display: inline;">
<a href="{% url 'blog:post_year_archive' date|date:'Y' %}">Year-{{ date|date:"Y" }}</a>
</li>
{% endfor %}
</ul>
<br/>
<div>
<ul>
{% for post in object_list %}
<li>{{ post.modify_date|date:"Y-m-d" }}
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a>
</li>
{% endfor %}
</ul>
</div>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}post_archive.html{% endblock %}
{% block content %}
<div id="content">
<h1>Post Archives until {% now "N d, Y" %}</h1>
<ul>
{% for date in date_list %}
<li style="display: inline;">
<a href="{% url 'blog:post_year_archive' date|date:'Y' %}">Year-{{ date|date:"Y" }}</a>
</li>
{% endfor %}
</ul>
<br/>
<div>
<ul>
{% for post in object_list %}
<li>{{ post.modify_date|date:"Y-m-d" }}
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a>
</li>
{% endfor %}
</ul>
</div>
{% endblock %}
base.html을 상속 받도록 post_archive_year.html 파일 수정
### 위치 이동
cd /Users/user/test/django/project/web/blog/templates/blog
### post_archive_year.html
vi post_archive_year.html
---
### 기존 코드
<h1>Post Archives for {{ year|date:"Y" }}</h1>
<ul>
{% for date in date_list %}
<li style="display: inline;">
<a href="{% url 'blog:post_month_archive' year|date:'Y' date|date:'b' %}">{{ date|date:"F" }}</a></li>
{% endfor %}
</ul>
<br/>
<div>
<ul>
{% for post in object_list %}
<li>{{ post.modify_date|date:"Y-m-d" }} nbsp;nbsp
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a></li>
{% endfor %}
</ul>
</div>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}post_archive_year.html{% endblock %}
{% block content %}
<div id="content">
<h1>Post Archives for {{ year|date:"Y" }}</h1>
<ul>
{% for date in date_list %}
<li style="display: inline;">
<a href="{% url 'blog:post_month_archive' year|date:'Y' date|date:'b' %}">{{ date|date:"F" }}</a></li>
{% endfor %}
</ul>
<br/>
<div>
<ul>
{% for post in object_list %}
<li>{{ post.modify_date|date:"Y-m-d" }} nbsp;nbsp
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a></li>
{% endfor %}
</ul>
</div>
{% endblock %}
base.html 을 상속 받도록 post_archive_month.html 파일을 다음과 같이 수정
### 위치 이동
cd /Users/user/test/django/project/web/blog/templates/blog
### post_archive_month.html
vi post_archive_month.html
---
### 기존 코드
<h1>Post Archives for {{ month|date:"N, Y" }}</h1>
<div>
<ul>
{% for post in object_list %}
<li>{{post.modify_date|date:"Y-m-d" }}
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a></li>
{% endfor %}
</ul>
</div>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}post_archive_month.html{% endblock %}
{% block content %}
<div id="conetne">
<h1>Post Archives for {{ month|date:"N, Y" }}</h1>
<div>
<ul>
{% for post in object_list %}
<li>{{post.modify_date|date:"Y-m-d" }}
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a></li>
{% endfor %}
</ul>
</div>
{% endblock %}
base.html 을 상속 받도록 post_arhive_day.html 파일을 수정
### 위치 이동
cd /Users/user/test/django/project/web/blog/templates/blog
### post_archive_day.html
vi post_archive_day.html
---
### 기존 코드
<h1>Post Archives for {{ day|date:"N d, Y" }}</h1>
<div>
<ul>
{% for post in object_list %}
<li>{{ post.modify_date|date:"Y-m-d" }}
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a>
</li>
{% endfor %}
</ul>
</div>
### 수정 후, 코드
{% extends "base.html" %}
{% block title %}post_archive_day.html{% endblock %}
{% block content %}
<div id="content">
<h1>Post Archives for {{ day|date:"N d, Y" }}</h1>
<div>
<ul>
{% for post in object_list %}
<li>{{ post.modify_date|date:"Y-m-d" }}
<a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a>
</li>
{% endfor %}
</ul>
</div>
{% endblock %}
참고 자료