重复视图或添加参数

时间:2018-08-21 06:04:19

标签: django web view

我想构建一个django应用程序,其中用户是呼叫中心中的工作人员。当他们与客户交谈时,他们有特定的任务,但是有时他们可能需要更新客户的联系数据。

重点是已经有一个用于更新联系人数据的视图。目前唯一需要更改的是提交/取消后发送到的URL。因此,我想知道是否应该重用该视图。我可以想到大约三种选择:

  • 重新使用视图并将返回URL作为参数传递
  • 创建一个新视图,以重用部分现有视图(例如模板)
  • 创建一个全新的视图

您会推荐什么,为什么?

1 个答案:

答案 0 :(得分:0)

第一个选项似乎很好,因为它重复使用了很多代码。但是我认为最好不要按参数发送此类URL(我看到的一个优点是:如果POST失败,用户将不知道重定向URL)。

如果仅有2个重定向用户的选项,则可以考虑发送布尔参数,例如url?during_call=1。然后在您看来,您可以添加一个小的假设:

def view(request):
    # your logic here
    during_call = request.POST.get('during_call', False)
    redirect_url = 'url1' if during_call else 'url2'
    return redirect(redirect_url)