Django Forms表单创建与数据入库实战解析

阿橙
阿橙
发布时间:2026-10-12 | 4人浏览过
原创

本文详细解析Django框架中Forms模块的实际应用,涵盖HTML模板编写、URL路由配置及视图函数逻辑。通过具体代码示例,展示如何利用Form类接收POST请求数据并验证,最终将用户输入保存至数据库。适合希望掌握Django表单处理流程的开发者参考。

本文主要探讨Django框架中Forms模块的具体使用方法,内容如下。

首先,需要创建名为do.html的模板文件。

{% extends 'base.html' %} 
 
{% block mainbody %} 
   
  <form action="/app1/do/" method="post"> 
    {% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Submit"> 
  </form> 
 
{% for item in student %} 
  <p>{{ item.id }}, {{ item }}</p> 
{% endfor %} 
 
{% endblock %} 

接着,在项目的urls.py文件中添加对应的URL路径配置。

url(r'^do/', 'app1.views.do'),

随后,在views.py文件中定义处理该路径的do视图函数。

from django.shortcuts import render 
from django.core.context_processors import csrf 
from app1.models import Student 
from django import forms 
 
def do(request): 
  context = {} 
  context.update(csrf(request)) 
  if request.POST: 
    form = StudnetForm(request.POST) 
    if form.is_valid(): 
      name = form.cleaned_data['name'] 
      student = Student(name = name) 
      student.save() 
  form = StudnetForm() 
  context = {} 
  context.update(csrf(request)) 
  student_list = Student.objects.all() 
  context['student'] = student_list 
  context['form'] = form  
  return render(request, 'do.html', context) 

此时,数据库中已存在四条预设数据。

在浏览器中访问地址 http://localhost:8000/app1/do/。

页面加载后可以看到初始状态。

接下来,在表单中输入Name字段的内容并提交。

提交后,可以看到新数据已成功添加至数据库中。

若需定义多个Form,只需确保View层与Template模板中的对应关系一致即可。关于Form更详细的使用方法,建议查阅Form的官方API文档,访问地址为:https://docs.djangoproject.com/en/1.8/ref/forms/api/。

总结

总体而言,Django是一个性能优越且易于使用的Web框架,目前许多企业在招聘Python开发人员时,也要求候选人具备Django的使用技能。

以上即为本文关于Django中Forms使用的完整代码解析,希望能对大家有所帮助。感兴趣的朋友可继续浏览本站其他相关专题,如有不足之处,欢迎留言指正。感谢各位读者对本站的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表