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 %} #포스팅 작성자가 로그인한 유저일 경우