2017-07-16 73 views
0

我有以下兩個網址:Django的:多個登錄重定向基於路徑

url(r'^login/$',django.contrib.auth.views.login,{'template_name': 'meta/login.html'},name='login'), 
url(r'^loginiOS/$', django.contrib.auth.views.login, {'template_name': 'meta/login.html'}, name='loginiOS'), 

他們加載登錄頁面,但「loginiOS」 URL讓我隱藏在iPhone版本的某些選項,如菜單。一個例子可以看到下面:

{% if 'iOS' in request.path %} 
    {% else %} 
    {% include "meta/fragments/navbar.html" %} 
    {% block header %}{% endblock %} 
    {% endif %} 

但是,每當我登錄它總是重定向我「https://str8red.com/welcome」這是在設置文件中設置。我想這樣做的是登錄頁面重定向如下:

  • 如果從此str8red.com/login重定向到stre8red.com/welcome
  • 如果從str8red.com/loginiOS然後重定向to str8red.com/welcomeiOS

我已經嘗試了一些想法,看看沒有成功的stackoverflow。任何幫助將不勝感激。

非常感謝,艾倫。

+0

你可以用任何一個參數或通過反向匹配網址不管你喜歡 – Gahan

+0

對不起,你能在兩個中的一個闡述它匹配建議的解決方案請我在如何執行你的建議不清楚。 –

+0

重寫'django.contrib.auth.views.login' – hadi

回答

1

如果您希望用戶在成功登錄後被重定向到某個頁面,則可以添加next param來形成。喜歡的東西:

<form> 
    {% if 'iOS' in request.path %} 
    <input type="hidden" name="next" value="iosUrl" /> 
    {% endif %} 
</form> 
+0

撞在頭上,謝謝。非常感謝其他人也提供了建議。 –

+0

你好ookami.kb,我試過類似的更改密碼選項,但它沒有奏效。如果你有任何想法,請你能幫助這裏:https://stackoverflow.com/questions/45176991/django-redirect-change-password-url。 –