Django获取HTML表单数据:从配置到解决403错误的完整流程
本文详解Django中如何接收HTML页面提交的表单数据。通过配置urls.py路由与views.py视图函数,演示获取POST参数的具体代码。重点解决提交时常见的403 Forbidden错误,需在form标签内添加{% csrf_token %}。完整流程涵盖模板编写、路由映射、视图逻辑及服务启动验证,帮助开发者快速实现数据交互。
本文主要介绍在Django框架中,如何从HTML页面获取用户通过表单提交的数据。
创建HTML表单页面
第一步,创建一个自定义的HTML网页用于接收用户输入。
文件命名为login.html。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<form method="post" action="{% url 'check' %}">
<input type="text" name="name" placeholder="your username"><br>
<input type="password" name="pwd" placeholder="your password"><br>
<input type="submit" value="提交"><br>
</form>
</body>
</html>
在form表单中,action{%url ‘check'%} 属性对应的值需要与urls.py文件中定义的name参数保持一致。

配置URL路由与视图函数
第二步,配置urls.py文件以定义URL路由规则。
urlpatterns = [
path('reg/',views.reg,name='check'),
path('',views.login),
]
第三步,在views.py文件中编写处理逻辑。
def login(request):
return render(request,'login.html')
def reg(request):
if request.method == 'POST':
name=request.POST.get('name')
pwd=request.POST.get('pwd')
print(name,pwd)
return render(request,'login.html')
服务启动与数据提交测试
第四步,启动Django服务,访问主页localhost:8000,输入用户名和密码后点击提交按钮。
此时,页面可能会返回403 Forbidden错误。

解决403错误与CSRF配置
为了解决这个问题,需要在login.html文件的form表单内部添加特定的安全令牌代码。
{%csrf_token%}
<form method="post" action="{% url 'check' %}">
{% csrf_token %}
<input type="text" name="name" placeholder="your username"><br>
<input type="password" name="pwd" placeholder="your password"><br>
<input type="submit" value="提交"><br>
</form>
保存修改后重启服务,再次尝试输入用户名和密码进行提交。
成功提交后,即可在服务器端获取到页面输入的信息。

以上即为Django从HTML页面表单获取输入数据的完整实例,希望能为读者提供参考。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









