Django手动渲染表单字段

2020-11-02  本文已影响0人  Chaweys

手动渲染字段
在表单模板中,可以使用{{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>
手动渲染字段.png
上一篇 下一篇

猜你喜欢

热点阅读