手动渲染字段
在表单模板中,可以使用{{form}}、{{form.astable}}、{{form.asp}}、{{form.as_url}}等变量或得表单字段的默认渲染效果。
Django允许在表单模板中自定义表单字段的渲染效果。在模板中,用{{form.字段名}}格式来访问表单字段。
文件\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 testcharForm(request):
if request.method=="POST":
form=charForm(request.POST)
else:
form=charForm()
return render(request,"testcharform.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('getdata/',views.getdata),
path('dform/',views.useDataForm),
path('dform3/',views.useDataForm3),
path('dyfield/',views.testcharForm),
]
文件\chapter7\app\templates\testcharform.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/dyfield/" method="POST">
{% csrf_token %}
<div>{{form.name.label}}={{form.name}}</div>
<div>{{form.age.label}}={{form.age}}{{form.age.help_text}}</div>
<input type="submit" value="提交">
</form>
</body>
</html>
![](https://img.haomeiwen.com/i13857104/d195b88ab10de393.png)
手动渲染字段.png
网友评论