Django 重定向不起作用

2 python django django-models django-views web

def CompleteMini(request, mini_id):
    mini_instance = get_object_or_404(url_all, mini_address = mini_id)
    return redirect(mini_instance.full_address)
Run Code Online (Sandbox Code Playgroud)

我有这个代码,但它没有明确重定向到作为参数提供的 URL。相反,它只是将当前 url 附加到这个 url 上。

dav*_*nes 5

听起来您在mini_instance.full_address变量中有一个相对 url 。你想确保它也有 http:// 部分,这样它就会完全重定向到新的 url,而不是尝试相对于你所在的 django 站点去访问它。

这是来自相对和绝对 url 的文档的示例

def my_view(request):
    ...
    return redirect('/some/url/')
Run Code Online (Sandbox Code Playgroud)

这也适用于完整的 URL:

def my_view(request):
    ...
    return redirect('https://example.com/')
Run Code Online (Sandbox Code Playgroud)

https://docs.djangoproject.com/en/1.10/topics/http/shortcuts/#redirect