2014-01-06 24 views
2

我遇到了以下問題: 我都需要一個參數一個應用程序在登錄時通過這樣的URL結構是這樣的 - >http://baseURL.com/paramter/如何將參數傳遞到django中的登錄視圖,同時從settings.py中的登錄url反轉?

其中「參數」是相匹配後來就變來自數據庫。

該項目工作時,出現下列情況除外就好: http://baseURL.com/paramter/home

,其中「家」是由@login_required 被記錄在需要的用戶視圖,以便在項目檢查中設置的login_url .py文件,並試圖去那裏 ,然後我得到以下錯誤:

NoReverseMatch at /parameter/home/ 

Reverse for 'login_view' with arguments '()' and keyword arguments '{}' not found. 

在我的settings.py

LOGIN_URL = reverse_lazy('login_view') 

在我views.py

def login_view(request, parameter): 

在urls.py

url(r'^(?P<parameter>\w+)/$', 'myproject.apps.myapp.views.login_view'), 

所以如果settings.py轉到URL配置之前登錄視圖如何傳遞參數?

回答

2

你可以簡單的參數傳遞給反向功能kwargs

LOGIN_URL = reverse_lazy('login_view', kwargs={'parameter': 'login_parameter'}) 

https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse

通常情況下,登錄URL不屬於爲settings.py。你只是把它放進你的urls.py

+0

問題是如何獲得在url中輸入的login_parameter – SaraEzz

+0

我不知道,我知道它是正確的:如果你想訪問參數,它在你的視圖中參數變量 – ProfHase85

+0

嘗試你建議它重定向到這個:http://myURL.com/accounts/login/?next=/login_paramter/home/所以我怎麼能擺脫帳戶/登錄/ login_paramter /與next part only for home – SaraEzz

相關問題