遍历字段
在表单模板中,也可以用{%for%}循环来遍历表单字段。
表单字段的常用属性如下:
{{form.字段名.label}}: 字段的label文本,如"姓名"
{{form.字段名.label_tag}}:封装在HTML元素中的额label文本,包含表单的label_suffix
{{form.字段名.value}}: 字段值
{{form.字段名.help_text}}:字段的帮助文本
{{form.字段名.errors}}: 字段未通过验证时的错误信息
{{form.字段名.field}}: 表单字段的BoundField实例对象,用于访问字段属性。如{{form.name.field.max_length}}
文件\chapter7\app\views.py
from django.shortcuts import render
from django import forms
class charForm(forms.Form):
name=forms.CharField(max_length=50,label="姓名")
age=forms.IntegerField(max_value=50,min_value=20,label="年龄",help_text="年龄不小于20且不大于50")
def testfor(request):
if request.method=="POST":
form=charForm(request.POST)
else:
form=charForm()
return render(request,"temptestfor.html",{"form":form})
文件\chapter7\chapter7\urls.py
from django.contrib import admin
from django.urls import path
from app import views
urlpatterns = [
path('admin/', admin.site.urls),
path('dyfor/',views.testfor),
文件\chapter7\app\templates\temptestfor.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>遍历表单字段</h3>
<form action="/dyfor/" method="POST">
{% csrf_token %}
{% for field in form %} #遍历表单字段{此例只有两个表单字段所以遍历循环两次}
<p>
{{ field.errors }} #输出字段未通过验证时的错误信息,如果有的话
<b>{{ field.label_tag }}</b> #对字段的标签值加粗显示
{{ field }} #在字段的标签值后面紧接着表单字段输入框
{% if field.help_text %} #判断表单字段是否有帮助信息
<I>{{ field.help_text|safe }}</I> #安全模式输出表单字段的帮助信息
{% endif %}
</p>
{% endfor %}
<input type="submit" value="提交"/>
</form>
</body>
</html>
遍历表单字段.png
网友评论