在 Django 开发中,表单和模板是构建用户交互的核心工具。掌握它们能让你更高效地实现数据收集和页面渲染功能!

📌 1. 表单基础操作

  • 创建表单类
    使用 forms.Formforms.ModelForm 定义表单结构
    ✅ 示例:

    from django import forms
    class ContactForm(forms.Form):
        name = forms.CharField(max_length=100)
        email = forms.EmailField()
    
  • 模板渲染
    在 HTML 中通过 {{ form.as_p }}{{ form.as_table }} 渲染表单
    📁 模板代码片段:

    <form method="post">
        {% csrf_token %}
        {{ form.name.label_tag }}
        {{ form.name }}
        {{ form.email.label_tag }}
        {{ form.email }}
        <button type="submit">提交</button>
    </form>
    
  • 处理表单数据
    在视图中校验数据并保存:

    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            form.save()
    

📈 2. 表单与模板最佳实践

技巧 说明
{{ form.non_field_errors }} 显示通用错误信息
自定义字段样式 通过 widgets 参数设置
动态表单渲染 使用 for loop 遍历字段

🛑 常见问题排查

  • 表单未显示:检查模板中是否正确调用 form.as_p 等方法
  • 数据校验失败:确保字段类型与数据库模型匹配
  • 模板变量错误:使用 {{ form.name.value }} 获取输入值

🔗 想了解更多 Django 视图实现细节?点击这里查看相关教程

Django_Form
Template_Rendering
Form_Validation