Django:抓住参数

时间:2011-01-08 15:56:23

标签: django parameters

我最困难的时候应该是超级简单的。我无法在django中获取传递的参数。

在浏览器中输入:

http://localhost:8000/mysite/getst/?term=hello

我的网址格式为:

(r'^ mysite / getst / $','tube.views.getsearchterms')

我的观点是

def getsearchterms(request):

my_term = some_way_to_get_term

return HttpResponse(my_term)

在这种情况下,它应该返回“你好”。我正在调用该视图,但是返回给我一个空值。我尝试了各种形式的GET ......

some_way_to_get_term应该是什么?

2 个答案:

答案 0 :(得分:3)

get参数可以像任何字典一样访问:

my_term = request.GET['term']
my_term = request.GET.get('term', 'my default term')

答案 1 :(得分:0)

之后使用任意参数?然后用request.GET ['term']来捕获它们,你错过了Django urls模块的最佳功能:一致的URL方案

如果此URL调用中始终存在“term”,则它必须对您的应用程序有意义, 所以你的网址规则可能如下:

(r'^mysite/getst/(?P<term>[a-z-.]+)/', 'tube.views.getsearchterms')

这意味着:

  1. 你有一个更具SEO的友好和稳定的URL方案(没有?term = this&amp; q =里面的内容)
  2. 您可以在视图中轻松捕捉到您的观点:
  3. 喜欢这个

    def getsearchterms(request,term):
        #do wahtever you want with var term
        print term