重定向到引导模式,而不是error404,Django请求.us

2024-09-28 16:58:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在和一个请求用户在Django的声明。 在这些小时里,我想要达到的是:

  • 只有ShiftReport的“用户”(作者)(仅仅是一篇文章)应该能够编辑ShiftReport。你知道吗
<>我已经做到了,当我登录到另一个用户时,我收到了一个错误404,而作为一个后创作者登录,我能够编辑帖子-太好了!你知道吗

然而,与404错误不同,我只想抛出一个Bootstrap模式,表示拒绝访问。你知道吗

我的视图.py':

def update(request, shiftreport_id=None):
title = 'Edit Shift Report by'
instance = get_object_or_404(ShiftReport, pk=shiftreport_id, user=request.user)
form = shiftreportForm(request.POST or None, request.FILES or None, instance=instance)
confirm_message = None

if form.is_valid():
    instance = form.save(commit=False)
    instance.user = request.user
    instance.save()

    title = "Thanks"
    confirm_message = "Shift Report has been updated!"
    form = None

context = {
    "title": title,
    "instance": instance,
    "form": form,
    "confirm_message": confirm_message,
}
return render(request, 'shift/edit.html', context)

我的详细信息.html':

<div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav navbar-center">
        <li><a href="{% url 'new' %}">New Shift Report</a></li>
        <li><a href="{% url 'all' %}">All Shift Reports</a></li>
        {% if not request.user %}

with above statement I can edit my own post and I get Error404 when I want to edit a post from another user. When I change it to {% if request.user %}, my modal works but then I cannot edit any of the posts, neither mine neither from another user.

        <li><a href="#restrictedit" data-toggle="modal">Edit Shift Report Nr.{{ shiftreport.id }}</a></li>
        <li><a href="#restrictdelete" data-toggle="modal">Delete Shift Report</a></li>
        {% else %}
        <li><a href="{% url 'detail' shiftreport.id %}edit/">Edit Shift Report Nr.{{ shiftreport.id }}</a></li>
        <li><a href="#confirm" data-toggle="modal">Delete Shift Report</a></li>
        {% endif %}
      </ul>
      <form class="navbar-form navbar-right" method="GET" action="">
        <input type="text" class="form-control" name="q" placeholder="Search..." value="{{ request.GET.q }}">
      </form>
    </div>

希望我的问题有点道理,另一方面,这个问题对我来说没有任何意义。。。如果有任何帮助,我将不胜感激。你知道吗

谢谢。你知道吗


Tags: instancereportformnoneidshifttitlerequest