Django——form组件之循环生成标签
from django.contrib import admin
from django.urls import path
from app01.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path('index/',index)
]
from django.shortcuts import render,HttpResponse
from django import forms
from django.core.exceptions import ValidationError #校验错误
class UserInfo(forms.Form):
username = forms.CharField(
label='用户名',
required=True,
)
password = forms.CharField(
label='密码',
widget=forms.widgets.PasswordInput(render_value=True)
)
re_password = forms.CharField(
label='确认密码',
widget=forms.widgets.PasswordInput(render_value=True)
)
def index(request):
obj = UserInfo()
return render(request,'index.html',{'obj': obj})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<form action="" method="post">
{# 循环obj, 生成标签 #}
{% for field in obj %}
{# 循环后的 field 就是每一个form类的字段 #}
<div>{{ field.label }}{{ field }}{{ field.errors.0 }}</div>
{% endfor %}
<p><input type="submit"></p>
</form>
</body>
</html>
效果:


浙公网安备 33010602011771号