Home Science Coding Design Etc. AboutMe

Django에서 웹사이트 주소창 이름을 블로그 게시글 제목으로 변경하는법

Dec. 10, 2019   /   2 mins read   /  

웹사이트 주소창 이름 변경하기

블로그를 만들고 처음에는 웹사이트의 주소창의 이름이 고정된 상태였습니다. 다른 페이지 (또는 게시글)을 읽으면 그에 맞게 주소명도 바뀌게 하고 싶었는데요. 원래는 메인 페이지에서 title에 해당하는 내용을 각 게시글(post)에서 템플릿(templates)을 상속받아 사용하고 있었습니다. 이 경우 검색엔진이 각각의 게시글을 구분을 못하는 문제점도 있으므로 게시글별 title의 구분이 필요합니다.


main.html

<!-- main.html file -->
<head>
    <title>잡동사니 아카이브</title>
    ...
    ...
</head>

sub.html

<!-- Inherited.html file -->
{% extends 'archive/main_page.html' %}
{% block content %}
<h1>{{ post.title }}<h1>
    ...
    ...
{% endblock %}


기존의 경우 위에 나온 코드처럼 구성되어 있었는데, 상속받은 페이지에서 title에 대한 정보를 알려주지 않고 있습니다.




변경 후에는 다음과 같이 기본 프레임이 되는 .html 파일에 {% block title %} {% endblock %}을 추가하고 기본으로 보여질 제목을 설정했습니다.

그리고 마찬가지로 상속받은 페이지에는 {% block title %} {% endblock %} 안에 {{ post.title }}을 넣으면 포스트 제목이 웹사이트의 제목으로 변경되고, 응용하여 그 뒤에 문구를 달면 해당 포스트 제목 + 다른문구를 첨가할 수도 있습니다.

main.html

<!-- main.html file -->
<head>
    <title>{% block title %}잡동사니 아카이브{% endblock %}</title>
    ...
    ...
</head>

sub.html

<!-- Inherited.html file -->
{% extends 'archive/main_page.html' %}

{% block title %}
{{ post.title }} - 잡동사니 아카이브
{% endblock %}

{% block content %}
<h1>{{ post.title }}<h1>
    ...
    ...
{% endblock %}


변경 후에는 다른 게시글을 읽을 때 웹사이트의 제목이 다음과 같이 변경됩니다. 끝!