获取vs放置http请求对象

时间:2013-02-27 01:31:52

标签: django http

我有一些关于http get vs post的常见问题,如果有人可以用例子澄清那就太棒了......

示例: -

这是我的观点

views.py

def search(request):
    if request.method == 'POST':
        print 'request.post=', request.POST
        print 'request.get=', request.GET
        print 'request.method=', request.META.get('REQUEST_METHOD')
        if 'q' in request.GET:
            message = 'You searched for :%r' % request.POST['q']
        else:
            message = 'You submitted an empty form'
        return render(request, 'search_form.html', {'message': message})
    return render(request, 'search_form.html')

search_form.html

<body>
    {% if message %}
        <div> {{ message }} </div>
    {% else %}
        <form action="/polls/search/" method="post">{% csrf_token %}
            <input type="text" name="q">
            <input type="submit" value="Search">
        </form>
    {% endif %}
</body>
  1. POST请求是否仅用于HTML表单?如果没有,还有其他方法吗?
  2. 没有表单的任何请求始终是GET请求?
  3. 如何使用表单处理GET和POST ..
  4. 感谢。

1 个答案:

答案 0 :(得分:1)

  

POST请求是否仅用于HTML表单?如果没有,那是什么   其他方法吗?

您也可以发布json或xml。例如,Jquery使用json或xml数据类型

的ajax帖子
  

没有表单的任何请求总是GET请求吗?

有4种类型的http方法,GET,POST,DELETE和PUT。根据您的使用方式,您可以使用其中任何一种。

更多关于此的文章。 http://bradley-holt.com/2009/07/html-5-http-methods-rest/