字符串里面的django / python变量?

时间:2012-09-27 06:23:29

标签: python django variables dynamic

我是python的新手,想要一些帮助。

我有一个变量

q = request.GET['q']

如何在其中插入变量q

url = "http://search.com/search?term="+q+"&location=sf"

现在我不确定约定是什么?我习惯了PHP或javascript,但我正在学习python,你如何动态插入变量?

3 个答案:

答案 0 :(得分:3)

使用String的格式方法:

url = "http://search.com/search?term={0}&location=sf".format(q)

但当然你应该对q:

进行URL编码
import urllib
...
qencoded = urllib.quote_plus(q)
url = 
  "http://search.com/search?term={0}&location=sf".format(qencoded)

答案 1 :(得分:2)

一种方法是使用urllib.urlencode()。它接受一个字典(或关联数组或任何你称之为的),将键值对作为参数和值,你可以将其编码为形成网址

    from urllib import urlencode  
    myurl = "http://somewebsite.com/?"  
    parameter_value_pairs = {"q":"q_value","r":"r_value"}  
    req_url = url +  urlencode(parameter_value_pair)

这将为您提供"http://somewebsite.com/?q=q_value&r=r_value"

答案 2 :(得分:2)

q = request.GET['q']
url = "http://search.com/search?term=%s&location=sf" % (str(q))

使用它会更快......