【问题标题】:What if success_url is irrelevant with the model itself in Django如果success_url与Django中的模型本身无关怎么办
【发布时间】:2011-06-29 09:50:40
【问题描述】:

如果success_url由模型决定,我们可以自定义通用视图如下。

def get_success_url(self):
    return '/object/%s' % (self.object.id)

但是如果success_url和model无关,比如我们想返回之前进入form页面之前的页面。它可以是详细信息页面、列表页面或其他任何内容。我可以将推荐网址存储在表单中吗?任何想法都值得赞赏。

~汉森

【问题讨论】:

    标签: django


    【解决方案1】:

    我假设成功页面并不总是相同,否则您可以在get_success_url 中包含带有reverse() 之类的网址。 对于动态重定向,您可以像您建议的那样将 url 添加到表单的隐藏输入中或表单发布到的 url 的查询字符串中(例如/myurl?next=/redirect-url/)。然后你可以在你的视图类中做这样的事情:

    # url is in the form in a hidden input 'next'
    def get_success_url(self):
        return request.POST['next']
    
    # url is in the query string ?next=xxxx
    def get_success_url(self):
        return request.GET['next']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 2012-11-11
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多