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

在使用django主机时,如何在django中重定向?

  •  2
  • Ablivion  · 技术社区  · 7 年前

    我正在使用 django-hosts 包来管理应该设置在不同子域中的内容。我首先创建了一个视图,其中一个表单用于更改某些内容。一旦表单得到验证和处理,用户就应该被重定向到其他页面。查看文档,有一种简单的方法可以渲染():

    settings_url = reverse('settings', host='dashboard')
    return render(request, 'dashboard/settings.html', {'settings_url': settings_url})
    

    但是,没有提到redirect()。那么,我该如何重定向到其他地方,而不是通常的情况呢 return redirect("dashboard:settings")

    :

    host_patterns = patterns('',
        host(r'www', settings.ROOT_URLCONF, name='www'),
        host(r'dashboard\.myapp\.com', 'dashboard.urls', name='dashboard'),
    )
    

    from .views import home, websitesettings
    
    urlpatterns = [
        url(r'^$', home, name='home'),
        url(r'^settings/$', websitesettings, name='settings'),
    ]
    

    基本上,我只想在提交表单后重定向回同一页面(在渲染示例中,我提交表单以更改某些网站设置,这本身就是一个模型,然后我想在此之后重定向回同一页面)。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Ablivion    7 年前

    from django_hosts.resolvers import reverse
    
    return redirect(reverse('home', host='dashboard'))