마지막으로 마이페이지를 작성해 보도록 하겠습니다. 마이페이지를 작성하기에 앞서 제일 먼저 수정해야 하는 파일은 layout.html
입니다.
여기 사람 모형 아이콘에다가 마이페이지로 가는 링크를 만들어 주도록 하겠습니다. config/templates/layout.html
맨 처음에 뼈대를 잡았던 파일이 있습니다. div.splite_user_icon_outline 태그 부분을 수정합니다. 마이페이지는 아무나 가면 안 되기 때문에 사용자가 로그인 상태일 때만 마이페이지로 이동합니다. 로그인 상태가 아니라면 버튼을 눌러도 마이페이지로 갈 수 없고 로그인 페이지로 보내주겠습니다.
파일명 : config/templates/layout.html
{% if user.is_authenticated %}
<div class="sprite_user_icon_outline">
<a href="{% url 'post:my_post_list' user.username %}"></a>
</div>
{% else %}
<div class="sprite_user_icon_outline">
<a href="{% url 'accounts:login' %}"></a>
</div>
{% endif %}
우리가 content 블록 ****부분 head 블록, 총 두개의 블록을 만들었습니다. 자바스크립트를 불러올 블록을 하나 더 추가하도록 하겠습니다. 마이페이지 부분에서는 외부에서 자바스크립트 파일을 불러와서 사용을 할 것입니다.
파일명 : config/templates/layout.html
<!-- jQuery (부트스트랩의 자바스크립트 플러그인을 위해 필요합니다.) -->
<script src="<https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js>"></script>
<!-- <script src="{% static 'js/insta.js' %}"></script> -->
{% block js %}
{% endblock %}
위에서 쓰인 마이페이지 URL도 urls.py
에 정의하도록 하겠습니다.
파일명 : post/urls.py
urlpatterns = [
...
**path('<username>/list/detail/', my_post_list, name='my_post_list'),**
]
이름을 받고 요청을 받으면 뷰 함수가 작동하도록 하겠습니다. my_post_list 뷰 함수를 views.py
에 정의하겠습니다.