2017-08-04 82 views
0

我有一個問題:'index'帶有參數'()'和關鍵字參數'{'request':<WSGIRequest:POST'/ search /'>}''找不到。 0模式嘗試:[]

爲什麼這個錯誤? 對於帶有參數'()'和關鍵字參數'{'request':}''的'index'沒有找到。 0模式嘗試:[]

views.py 
def index(request): 
... 
def book(request, cate): 
... 
def search(request): 
    if request.method == 'POST': 
     searchbooktitle = request.POST.get('search') 
     print(searchbooktitle) 
     try: 
      searchbook = Book.objects.filter(title__contains=searchbooktitle) 
      return redirect(book, request=request, cate=searchbook.pk) 
     except: 
      print(request) 
      return redirect(index, request=request) 
    return redirect(index, request=request) 

urls.py 
urlpatterns = [ 
    url(r'^index/$', views.index, name='index'), 
    url(r'^book/(?P<cate>[a-zA-Z]+)/$', views.book, name='book'), 
    url(r'^chapter/(?P<pk>[0-9]+)/$', views.chapter, name='chapter'), 
    url(r'^content/(?P<bookpk>[0-9]+)/(?P<chapterpk>[0-9]+)/$', views.content, name='content'), 
    url(r'^search/$', views.search, name='search'), 
] 


Traceback Switch to copy-and-paste view 

D:\Django1.8_env\lib\site-packages\django\core\handlers\base.py in get_response 
response = wrapped_callback(request, *callback_args, **callback_kwargs) ... 
▶ Local vars 
D:\Djangodemo\bookmarks\account\views.py in search 
return redirect('index', request=request) ... 
▶ Local vars 

回答

1

您不應該通過重定向傳遞請求。 更改return redirect(index, request=request)return redirect('/index/')
請參閱https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#django.shortcuts.redirect瞭解更多關於重定向。

+0

但在這一行中,返回重定向(book,request = request,cate = searchbook.pk), 我需要傳遞一個參數給book函數,我該怎麼做 –

+0

然後你可以使用'return redirect('book 」,美食= searchbook.pk)' –

相關問題