我正在努力处理Django中的request.user语句。 通过那些我想要实现的所有时间是:
到目前为止,我已设法做到这一点,当我作为另一个用户登录时,我收到错误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)
我的&detail;':
<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 %}
上面的语句我可以编辑自己的帖子,当我得到Error404 想要编辑其他用户的帖子。 当我将其更改为{%if request.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>
希望我的问题构建有点意义,另一方面问题对我没有任何意义......会感激任何帮助。
感谢。