所以我甚至不确定如何搜索那些发生同样事情的人。
我在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
次尝试,因为它没有打印任何内容。
不确定我可以提供哪些其他信息以帮助,如果您需要,只需询问(:
答案 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>