代码之家  ›  专栏  ›  技术社区  ›  tobib

复制视图或添加参数

  •  0
  • tobib  · 技术社区  · 6 年前

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

    关键是已经有了更新联系人数据的视图。唯一需要更改(目前)的是提交/取消后发送到的URL。所以我想知道我是否应该重用这个视图。我大致可以想到三种选择:

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

    你推荐什么?为什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Kamil    6 年前

    选项1看起来不错,因为它重用了很多代码。但我认为最好不要通过参数发送这样的URL(我可以看到一个优势:如果POST失败,用户将不知道重定向URL)。

    如果只有两个选项可以重定向用户,可以考虑发送布尔参数,比如 url?during_call=1 . 然后在您看来,您可以添加一个小的ifology:

    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)