django - 如何在 Django View 中使用 get 参数重定向?

标签 django redirect parameters get

我想在 Django View 中使用 GET 参数重定向。由于某些原因,我想使用 GET 参数,而不是 url 参数。

def product_new(request):
    group = request.GET.get('group')
    if group == None:
        product = Product.objects.create()
        return redirect('cms:product_list_edit')
    else:
        product = Product.objects.create(group=group)
        rreturn redirect('cms:product_list_edit') # I want to redirect this url with GET parameter.

最佳答案

对于python3及以上:

def redirect_with_params(viewname, **kwargs):
    """
    Redirect a view with params
    """
    rev = reverse(viewname)

    params = urllib.parse.urlencode(kwargs)
    if params:
        rev = '{}?{}'.format(rev, params)

    return HttpResponseRedirect(rev)

使用:

redirect_with_params('main-domain:index', param1='value1', param2='value2')

关于django - 如何在 Django View 中使用 get 参数重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55980882/

相关文章:

python - Django 无法呈现注销模板

DjangoRestFramework - has_permission 错误地覆盖 has_object_permission

asp.net - 重定向/发布到本地主机而不是外部域

c - 传递常量矩阵

python - 从命令式编程到函数式编程的转换 [Python 到标准 ML]

parameters - 我该如何解决这个Moq错误? System.Reflection.TargetParameterCountException : Parameter count mismatch

django - 让 Django 序列化没有 "fields"字段的对象

django - 为序列化程序编写一个显式的 `.update()` 方法

php - 将所有请求重定向到非 www ssl https

javascript - react 路由器 v4 : triggering a redirect programmatically (without having to render a <Redirect/>)