【问题标题】:get vs post Django forms获取与发布 Django 表单
【发布时间】:2013-02-22 05:15:44
【问题描述】:

我正在尝试使用 Django 应用程序了解 GET 与 POST 并遇到以下问题,

即使search_form.html 中的method="post" 当我输入某些内容并输入提交时,它正在传递一个GET 方法,因为我看到在url 中传递了参数。即使request.GET 也能够访问价值。

我认为仅根据您在 METHOD 中给出的内容来确定它是GET 还是POST

urls.py

urlpatterns = patterns('',url(r'^$',views.index,name='index'),
        url(r'^meta/',views.display_meta,name='meta'),
        url(r'^search-form/$',views.search_form),
                url(r'^search/$',views.search),

views.py

def search(request):
    if 'q' in request.GET:
        message = 'You searched for :%r' % request.GET['q']
    else:
        message = 'You submitted an empty form'

    return HttpResponse(message)

search_form.html

<html>
<head>
    <title>Search</title>
</head>
<body>
    <form action="/search/" method="post">
        <input type="text" name="q">
        <input type="submit" value="Search">
    </form>
</body>
</html>

任何意见将不胜感激。

【问题讨论】:

标签: django http


【解决方案1】:

您可以通过以下方式找到请求方法:

request.META.get('REQUEST_METHOD')

顺便说一句。你应该考虑使用generic views for stuff like search forms,这样更容易。

【讨论】:

  • 即使我给了 POST 也是 GET
猜你喜欢
  • 2022-10-20
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 2014-01-22
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多