将数据从搜索栏发送到网址

时间:2020-10-01 06:33:51

标签: python html django

我需要将来自搜索栏输入的原始文本发送到我的url,但是我正在获取查询字符串,无法弄清楚如何将其转换为可以使用的文本

这是处理上述栏的html

<form method ='GET' action="/entry/">
    <input class="search" type="text" name='q' placeholder="Search Encyclopedia">
</form>

1 个答案:

答案 0 :(得分:1)

关于查询字符串的Wikipedia页面似乎是一个有用的起点。在Python中修改字符串非常简单。

让我们以包含查询的以下示例网址为例: https://example.com/path/to/page?name=ferret&color=purple

如果我们假设变量url等于我们正在读取的URL,那么您可以使用split方法轻松地将其分解为可用的片段。

变量将在路径之后出现,并且始终以?开头,然后是variable=value语句,它们之间带有&来标记其他声明。

因此,我们可以构建一个将这些请求分解为单独值的函数。

variablename = []
variablevalue = []

url = input("URL: ")
query = str ( url.split("?")[1] ) # Everything after the "?", as a string object
requests = query.split("&") # all of the requests, as an array, starting at [0]

for a in range (0, len(requests) ): # For every single variable in the query
    request = str ( requests[a] )
    variablename.append( request.split("=")[0] )
    variablevalue.append( request.split("=")[1] )
    
for a in range(0, len(variablename) ):
    print("%s = %s" % (variablename[a], variablevalue[a] ) )

使用该脚本以及我提供的示例URL,您将获得以下内容作为输出:

名称=雪貂
颜色=紫色

我不确定您的确切目的是什么,但是修改我提供的代码以满足您的需求应该相当容易。希望这会有所帮助!