我是python和django的新手,我有一個關於重定向功能的問題。Django與kwarg重定向
這是我的views.py文件的簡化版本。
def page_index(request, error_message=''):
print error_message
def add_page(request):
return redirect('page_index') # this work fine
return redirect('page_index', error_message='test') # this does not work
這裏是我的urls.py短版
urlpatterns = patterns(
'x.views',
url(r'^$', 'page_index', {'error_message': 't'}, name='page_index'),
url(r'^add/$', 'add_page', name='add_page'),
)
當我嘗試重定向沒有關鍵字參數一切正常到PAGE_INDEX,但是當我使用kwag我得到以下錯誤消息:
NoReverseMatch在/頁/添加/
反向與參數 'PAGE_INDEX' '()' 的d關鍵字參數'{'error_message':'test'}'找不到。
我在做什麼錯?
有沒有辦法來調用帶有信息的觀點,那不是在網址是什麼? – Justus1
是的,你用Python做的 - 只需從你的add_page視圖中返回page_index(error_message ='test')'。 –
但如果你這樣做,那麼URL不會改變,你已經將另一個視圖(page_index)的內容返回到當前視圖(add_page),這對我來說似乎是一個不好的模式。另外,我建議使用Django內置的[消息框架](https://docs.djangoproject.com/en/1)來代替滾動您自己的基於會話的消息傳遞解決方案。3/ref/contrib/messages /) – Anentropic