#python #django #authorization #django-authentication
Вопрос:
Возможно ли сделать что-то подобное для автора в HTML?
(Я хочу, чтобы автор увидел кнопки «Удалить» и «Отменить», но другие пользователи просто получают 3 ссылки.)
post.html
{% if user.is_authenticated and user == post.author %}
<!-- Edit Buttons -->
<div class="text-center form-group">
<a class="button-delete" type="button" href="{% url 'post_confirm_delete' post.id %}">Delete</a>
<a class="button-cancel" type="button" href="{% url 'post' %}">Cancel</a>
</div>
<br>
{% else %}
<!-- Action Buttons -->
<div class="row my-2">
<div class="col g-2 justify-content-evenly text-center">
<a class="card-link" type="submit" href="#">Save</a>
<a class="card-link" type="submit" href="#">Applied</a>
<a class="card-link" type="submit" href="#">Hide</a>
</div>
</div>
{% endif %}
Это часть кода для просмотра.
просмотр.p
class PostListView(ListView):
model = post
template_name = 'posts/post.html'
context_object_name = 'posts'
ordering = ['-created']
class PostDetailView(DetailView):
model = post
class PostCreateView(CreateView):
model = Post
form_class = PostForm
template_name = 'posts/create_post.html'
def form_valid(self, form):
form.instance.author = self.request.user.gig
return super().form_valid(form)
class PostDeleteView(DeleteView):
model = Post
success_url = 'posts/my_post.html'
def test_func(self):
post = self.get_object()
if self.request.user == post.author:
return True
return False