Skip to main content
 首页 » 编程设计

python之反向未找到,Django,第一次

2024年08月23日29小虾米

search.html 是显示搜索结果列表的页面,但是当我点击“搜索”按钮时,它显示错误页面“未找到反向”。我在这里看到了同样的问题,但是代码不同,所以我没有找到问题的解决方案。

def search(request): 
if 'q' in request.GET and request.GET['q']: 
    q = request.GET['q'] 
    words = word.objects.filter(title__icontains = q) 
    return render_to_response('dictionary/search.html', 
        {'words': words, 'query': q }) 
else: 
    return HttpResponse('Please submit a search term.') 
 
 
def worder(request, word_id): 
    showword = get_object_or_404(word, id = word_id) 
    return render(request, 'dictionary/worder.html', {'showword': showword}) 

网址:

urlpatterns = [ 
url(r'^$', Dictionary.views.home, name='home'), 
url(r'^about/$', Dictionary.views.about, name='about'), 
url(r'^search/$', Dictionary.views.search, name='search'), 
url(r'^worder/(?P<word_id>[0-9]+)/$', Dictionary.views.worder, name='worder')] 

{% url 'worder' word_id %} 有问题:

<li class="listofwords"><a class="foundword" href="{% url 'worder' word_id %}">{{ word.title }}</a></li> 

请您参考如下方法:

您正在使用一个不存在的变量 word_id。您应该使用 word.id,它是您的对象词的 ID:

<li class="listofwords"><a class="foundword" href="{% url 'worder' word.id %}">{{ word.title }}</a></li>