FrameWork/Django
7월 27일(수) 게시글 작성자
print(blue)
2022. 7. 28. 00:56
해야할 것
1. 로그인이 안된 유저일 경우 포스팅 수정, 삭제하지 못하게 하기
2. 포스팅 작성자일 경우 메인 페이지에서 수정/삭제 버튼
☝🏻 로그인이 안된 유저일 경우 포스팅 수정, 삭제하지 못하게 하기
템플릿 수정
{% if request.user.is_authenticated %}
# room/room_list.html
...
<!-- 수정 / 삭제 / 더보기 -->
<div class="flex items-left text-gray-800 " style="float: right;">
<!-- 로그인/로그아웃 유무로 제어하기 -->
{% if request.user.is_authenticated %}
<button type="button">
<a href="room/edit/{{ p.pk }}"
class="text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 font-medium rounded-full text-sm px-5 py-2.5 text-center mr-2 mb-2">수정</a>
</button>
<button type="button">
<a href="room/delete/{{ p.pk }}"
class="text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 font-medium rounded-full text-sm px-5 py-2.5 text-center mr-2 mb-2">삭제</a>
</button>
{% endif %}
<button type="button">
<a href="{{ p.get_absolute_url }}"
class="text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 font-medium rounded-full text-sm px-5 py-2.5 text-center mr-2 mb-2">더보기</a>
</button>
</div>
...
☝🏻 포스팅 작성자일 경우 메인 페이지에서 수정/삭제 버튼
템플릿 수정
#room/room_list.html
...
<!-- 수정 / 삭제 / 더보기 -->
<div class="flex items-left text-gray-800 " style="float: right;">
<!-- 로그인/로그아웃 유무로 제어하기 -->
{% if request.user.is_authenticated %}
{% if p.writer == request.user %}
<button type="button">
<a href="room/edit/{{ p.pk }}"
class="text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 font-medium rounded-full text-sm px-5 py-2.5 text-center mr-2 mb-2">수정</a>
</button>
<button type="button">
<a href="room/delete/{{ p.pk }}"
class="text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 font-medium rounded-full text-sm px-5 py-2.5 text-center mr-2 mb-2">삭제</a>
</button>
{% endif %}
{% endif %}
<button type="button">
<a href="{{ p.get_absolute_url }}"
class="text-white bg-gradient-to-r from-cyan-500 to-blue-500 hover:bg-gradient-to-bl focus:ring-4 focus:outline-none focus:ring-cyan-300 dark:focus:ring-cyan-800 font-medium rounded-full text-sm px-5 py-2.5 text-center mr-2 mb-2">더보기</a>
</button>
</div>
...
{% if p.writer == request.user %} #포스팅 작성자가 로그인한 유저일 경우