Django之Form组件(入门,生成html标签,显示初级错误信息,创建数据,验证信息,字段示例)
Posted on 2018-07-09 22:59 思南cx 阅读(139) 评论(0) 收藏 举报
from django import forms from django.forms import fields class UserForm(forms.Form): user = fields.CharField() pwd = fields.CharField()
from django.shortcuts import render,HttpResponse # Create your views here. from app01.dforms import UserForm def home(req): if req.method == 'GET': obj = UserForm() return render(req,'home.html',locals()) if req.method == 'POST': print('post') obj = UserForm(req.POST) if obj.is_valid(): n1 = obj.cleaned_data['user'] n2= obj.cleaned_data['pwd'] print(n1,n2) return HttpResponse('6666') else: return render(req, 'home.html', locals()) #### # obj.user.objects.create(**obj.cleaned_data)直接创建数据 字段需要跟数据库一样 ####
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/home1" method="post" novalidate> {{ obj.user }}{{ obj.user.errors.0 }} {{ obj.pwd }}{{ obj.pwd.errors.0 }} <input type="submit" value="提交"> </form> </body> </html>
from django import forms from django.forms import fields class UserForm(forms.Form): user = fields.CharField( required=True, max_length=32, min_length=6, error_messages={} ) pwd = fields.CharField() # 前端{{obj.as_table}}可以直接生成标签 但样式不好调
# from django.utils.safestring import mark_safe # txt = mark_safe(txt) return render(request,'test.html'{'obj':obj,'txt':txt}) 前端: {{txt}}
浙公网安备 33010602011771号