Python 什么是';q';在request.GET变量中?
关于这个问题: 我在view.py中有此函数:Python 什么是';q';在request.GET变量中?,python,django,Python,Django,关于这个问题: 我在view.py中有此函数: def search(request): error = False if 'q' in request.GET: q = request.GET['q'] if not q: error = True else: ..... 它需要一个字符串并搜索它。。。。我不理解'q'部分 我假设它是查询的URL模式的一部分:/search/?q=..
def search(request):
error = False
if 'q' in request.GET:
q = request.GET['q']
if not q:
error = True
else:
.....
它需要一个字符串并搜索它。。。。我不理解'q'
部分
我假设它是查询的URL模式的一部分:/search/?q=..
但我不知道我在哪里建立了这个精确的模式
为什么它必须是
'q'
?它是什么意思?它是url中给定的参数:
...com/?q=variable
因此,在视图中,您有一个dict请求。GET
和q
是键,变量
是值:
{'q': 'variable'}
如果您想在url中更改它,如下所示:
...com/?b=...
您需要在视图中进行更改:
def search(request):
error = False
if 'b' in request.GET:
b = request.GET['b']
if not b:
error = True
else:
.....
如您所见,只需将
q
替换为b
或任何您想要作为参数名称的内容。这是一个参数,让我们假设myurl.com/?q=myValue,这样您就可以使用HTTP协议通过get获得get值。它可以是?query=?q=?post=等等。。。你只需要确保你的Django应用程序读取这些参数,但不是强制性的。只是为了让我理解。。假设我想将其更改为/search/?b=…
我需要做哪些更改?我不明白搜索功能和URL之间的连接在哪里。。。。我不明白它是如何创建/?q=..
的模式的。你需要传递一个搜索词,对吗?假设tomatoe所以你使用/search/?query=tomatoe所以你使用request.GET['query'],那么你就得到了tomatoe的值。我理解。。我只是不明白这个“q”是怎么定义的。