Form
Django的Form主要具有一下几大功能:
- 生成HTML标签
- 验证用户数据(显示错误信息)
- HTML Form提交保留上次提交数据
- 初始化页面显示内容
1、创建Form类
1 | from django.forms import Form |
2、View函数处理
1 | from django.shortcuts import render, redirect |
3、生成HTML
1 | <form action="/" method="POST" enctype="multipart/form-data"> |
4、其他标签
1 | <form method="POST" enctype="multipart/form-data"> |
Form类
创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML;
1、Django内置字段如下:
1 | Field |
注:UUID是根据MAC以及当前时间等创建的不重复的随机字符串
1 | > import uuid |
2、Django内置插件:
1 | TextInput(Input) |
常用选择插件
1 |
在使用选择标签时,需要注意choices的选项可以从数据库中获取,但是由于是静态字段 获取的值无法实时更新,那么需要自定义构造方法从而达到此目的。
方式一:
1 | from django.forms import Form |
方式二:
使用django提供的ModelChoiceField和ModelMultipleChoiceField字段来实现
1 | from django import forms |
自定义验证规则
方式一:
1 | from django.forms import Form |
方式二:
1 | import re |
方法三:自定义方法
1 | from django import forms |
方式四:同时生成多个标签进行验证
1 | from django.forms import Form |
初始化数据
在Web应用程序中开发编写功能时,时常用到获取数据库中的数据并将值初始化在HTML中的标签上。
1、Form
1 | from django.forms import Form |
2、Views
1 | from django.shortcuts import render, redirect |
3、HTML
1 | <form method="POST" enctype="multipart/form-data"> |