首页 文章

表单生成的url中的django错误,url不匹配 . 在我的查询搜索之间收到不需要的逗号

提问于
浏览
0

我想提交一个表单,之后我想调用一个特定的视图,但我的网址不匹配“,”介于两者之间 .

我的表格:

<form action={% url "blog:post_search" %}, method="get">
<input type="text" name="query">
<input type="submit" value="search">
</form>

我的看法:

def post_search(request):
    if 'query' in request.GET:
        search_query = SearchQuery(request.GET['query'])
        search_vector = SearchVector('title', 'body')
        result = Post.objects.annotate(search=search_vector,
                    rank=SearchRank(search_vector,search_query)
                    ).filter(search=search_query).order_by('-rank')
        return render(request,'blog/post/search.html',{'query':search_query,
                                                   'result':result})

我的网址:

path('search/', views.post_search, name='post_search')

提出的错误:

找不到页面(404)请求方法:GET请求URL:http://127.0.0.1:8000 / blog / search /,?query = confused使用myproject.urls中定义的URLconf,Django尝试了这些URL模式,在此order:admin / blog / [name ='post_list'] blog / tag // [name ='post_list_by_tag'] blog / //// [name ='post_details'] blog / / share / [name ='post_share'] blog / search / [name ='post_search'] sitemap.xml [name ='django.contrib.sitemaps.views.sitemap']当前路径blog / search /,与其中任何一个都不匹配 .

1 回答

  • 2

    因为您在表单标记中添加了逗号 . 应引用HTML属性,不要用逗号分隔 .

    <form action="{% url "blog:post_search" %}" method="get">
    

相关问题