为什么简单的搜索不起作用?

时间:2017-01-17 17:08:49

标签: python django

我正在创建一个简单的搜索栏来搜索我的博客文章。 问题是,当我在其上搜索某些内容时,没有任何反应,它甚至无法到达应该运行pdb回溯的视图。

如果有人能向我解释我做错了什么以及GET应该如何处理搜索查询,那么它真的很有用。

这里是搜索栏的所有相关代码:

models.py

class Article(models.Model):
    title = models.CharField(max_length=120)
    description = models.CharField(max_length=1000)
    user = models.ForeignKey(User)
    create_time = models.DateTimeField(auto_now_add=True)

views.py

def index(request):
    articles = Article.objects.all()
    return render(request, 'index.html', {'articles': articles})

def search_articles(request):
    # import pdb; pdb.set_trace() (doesn't get executed if uncommented)
    articles = Article.objects.filter(title__contains=request.GET['title'])
    return render(request, 'index.html', {"articles": articles})

的index.html

<form role="search" method="GET" action="{% url 'search' %}">
    <input type="text" name="title">
    <button>Search</button>
</form>

{% for article in articles %}
    {{ article.title }}
{% endif %}

urls.py

url(r'^$', views.index, name='index'),
url(r'^search/$', views.search_articles, name='search'),

我没有看到任何问题,但由于pdb调试器无法执行,GET无法到达视图。关于问题可能出在何处的任何建议?

0 个答案:

没有答案