Reputation: 3
I have a question:
Why is this error? Reverse for 'index' with arguments '()' and keyword arguments '{'request': }' not found. 0 pattern(s) tried: []
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
Upvotes: 0
Views: 535
Reputation: 1203
You should not pass request in redirect.
Change return redirect(index, request=request)
to return redirect('/index/')
Please refer to https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#django.shortcuts.redirect to learn more about redirect.
Upvotes: 1