Django发布请求什么都不做

时间:2017-08-18 17:03:30

标签: python django web

所以我甚至不确定如何搜索那些发生同样事情的人。

我在django网站上工作,我的表单不会发布到我的数据库,相反,我被重定向到包含表单中信息的URL,如下所示:

<form id="form">
      <input type="hidden" id="compinp" name="compinp">
      <input maxlength="20" onkeyup="showpost()" name="title" id="titleinput">
                    {{ captcha }}
</form>

如果compinp是其他一些已发布的数据,{{captcha}}是一个reCaptcha复选框,工作正常,当所有内容都填写并发布时,而不是从views.py运行post函数,相反,我被重定向到这个:

  

http://localhost:8000/newentry/?compinp=XXXX&title=XXXX&g-recaptcha-response=&#34;为xxxx-xxxx-XXXX&#34;

它通过jQuery通过表单外部的按钮发布,虽然我试图在其中添加一个提交按钮并得到完全相同的东西。

处理它的views.py函数如下所示:

def newentry(request):
    if request.method == "GET" and request.user.is_authenticated():
        #creating objects for the view, works fine too
        return render(request, "newentry.html",
                      {"champlist": complist, "captcha": captcha})
    elif request.method == "POST" and request.user.is_authenticated():
        captcha = Captcha(request.POST)
        title = request.POST.get("title", False)
        compname = request.POST.get("compinp", False)
        comp = Comp.objects.get(title=compname)
        if captcha.is_valid() and title and compname:
            newe= entry_generator(request.user, title, comp)
            newe.save()
            return redirect('/')
        else:
            return redirect('/')
    else:
         handle_home(request.method, request.user)

此视图尝试在同一项目中发布来自其他应用的模型,如果这样做会有所不同。

我在请求检查后右侧添加了print次尝试,因为它没有打印任何内容。

不确定我可以提供哪些其他信息以帮助,如果您需要,只需询问(:

1 个答案:

答案 0 :(得分:2)

您需要添加表单方法帖子:

<form id="form" method="post">
  <input type="hidden" id="compinp" name="compinp">
  <input maxlength="20" onkeyup="showpost()" name="title" id="titleinput">
                {{ captcha }}
</form>