我想访问views.py中的post方法数据。我遵循使用纯html的程序而不是 Django表单类。我尝试了解决方案 MultiValueDictKeyError in Django但仍然没有用。帮帮我
的index.html
Copy
views.py
<form action="{% url "Sample:print" %}" method="post">
{% csrf_token %}
<input type="text" placeholder="enter anything" id="TB_sample"/><br>
<input type="submit" value="submit">
</form>
我尝试了所有评论类型。我仍然遇到很多错误。这些解决方案都不起作用。
答案 0 :(得分:3)
重命名函数的打印名称(称为def print)。永远不要命名python内置函数的函数。
首先,您必须为输入字段指定名称以获取post参数。像,
<input type="text" placeholder="enter anything" name="TB_sample" id="TB_sample"/>
然后,您输入了
value=request.POST['TB_sample']
在django函数中。如果没有名为TB_sample的参数,则抛出 MultiValueDictKeyError 。总是写,
value=request.POST.get('TB_sample')
输出None而不是抛出错误。
答案 1 :(得分:0)
将'name'输入:
<input name="firstname" type="text" value="firstname">
在Django( views.py )
def register_form(request):
if request.method =='POST':
name = request.POST['firstname']
print(name)
return redirect('/')