【发布时间】:2018-04-03 20:47:24
【问题描述】:
这是最容易用一个例子来解释的。我有一个 HTML 按钮,单击它时应该更改数据库中的状态字段。更改状态字段后,用户应该被重定向回主页。
下面是调用 Javascript 函数的 HTML 按钮:
{% for group in groups %}
<button id="approve-btn" onclick="approvePendingGroup({{ group.pk
}})">Approve</button>
{% endfor %}
这里是 Javascript 函数:
function approvePendingGroup(id) {
window.location.href = "/result/approve/" + id;
}
Javascript 函数调用以下 URL,该 URL 调用视图中的方法。
urlpatterns = [
url(r'^result/approve/(?P<pk>\d+)/$', views.approve_group, name
='approve_group'),
]
这是应该重定向回主页的视图方法:
@csrf_exempt
def approve_group(request, pk):
group = Group.objects.get(pk=pk)
group.status = Status.approved
group.save()
return reverse('home')
很遗憾,这不会导致http://127.0.0.1:8000/home 页面 它把我带到:http://127.0.0.1:8000/result/approve/1/home 页面。它只是将“home”附加到上一个 URL。
如何强制此方法直接重定向到主页,而不仅仅是将其附加到 http://127.0.0.1:8000/result/approve/1/ 的末尾?
感谢您的宝贵时间!
【问题讨论】:
标签: javascript django redirect