我想为我的网站做一个查询系统,我认为最好的方法和最简洁的方法是使用url模式分配搜索变量。Django:使用url进行查询(使用url分配变量)
因此,例如,我要搜索模型User
的对象:
用户发送的HttpRequest到以下网址:
https://127.0.0.1/search/q="admin"
现在的HttpRequest也被送到search
观点,我们以某种方式得到q
变量数据。
def search(request):
for query in User.objects.all():
if q in query: # < We somehow need to get data of 'q'.
return HttpResponse(q)
,因为我已经在User.objects.all()
管理,这应该返回的HttpResponse的 '管理员'。
这个url模式怎么做?所以我可以从url中分配q
变量,然后将它发送给系统以查找它?
您可以使用查询参数,但为此,您的网址应如下所示:'https://127.0.0.1/search/?q = admin'(注意问号)。 然后,在你看来,你可以使用'request.GET [param]'(在你的情况下'request.GET ['q']')来访问所有的查询参数。您可以阅读[this](https://en.wikipedia.org/wiki/Query_string)wiki文章以了解有关查询参数的更多信息。 – iulian
你有看过这个问题吗? http://stackoverflow.com/questions/150505/capturing-url-parameters-in-request-get 关于如何在Django中处理GET参数的官方文档可以在这里找到:https://docs.djangoproject.com /en/1.10/ref/request-response/#django.http.HttpRequest.GET – maennel