django中form表单组建使用及CBV模式的示例分析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"django中form表单组建使用及CBV模式的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"django中form表单
千家信息网最后更新 2026年11月01日django中form表单组建使用及CBV模式的示例分析
这篇文章主要为大家展示了"django中form表单组建使用及CBV模式的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"django中form表单组建使用及CBV模式的示例分析"这篇文章吧。
一、FBV和CBVFBV:是视图函数以函数的方式写逻辑代码CBV:是视图以类的方式写逻辑代码如CBV: views.pyfrom django.shortcuts import render,HttpResponse,redirectfrom django.views import Viewfrom django.views.decorators.csrf import csrf_exempt,csrf_protectfrom django.utils.decorators import method_decoratorfrom app01 import modelsclass LoginView(View): @method_decorator(csrf_exempt) def dispatch(self, request, *args, **kwargs): return super(LoginView, self).dispatch(request,*args,**kwargs) def get(self, request, *args, **kwargs): return render(request, 'login.html') def post(self,request, *args, **kwargs): user = request.POST.get('user') pwd = request.POST.get('pwd') obj = models.UserInfo.objects.filter(username=user,password=pwd).first() if obj: request.session['user_info'] = {'id': obj.id, 'username': obj.username} return redirect('/users.html') return render(request, 'login.html', {'msg': '去你的'}) 如FBV: views.pydef register(request): if request.method == "GET": form = RegisterForm() return render(request, 'register.html', {'form': form}) else: response = {'status': True, 'data': None, 'msg': None} form = RegisterForm(request.POST) if form.is_valid(): print(form.cleaned_data) else: response['status'] = False response['msg'] = form.errors return HttpResponse(json.dumps(response)) 二、form表单组建使用 导入forms模块from django.forms import Formfrom django.forms import fieldsfrom django.forms import widgets#创建表单类class UserForm(Form): username = fields.CharField( required=True, error_messages={'required': '用户名不能为空'}, widget = widgets.TextInput(attrs={'class': 'form-control'}) ) password = fields.CharField( required=True, error_messages={'required': '邮箱不能为空', 'invalid': '邮箱格式错误'}, widget = widgets.TextInput(attrs={'class': 'form-control'}) ) ut_id = fields.ChoiceField( choices = [], widget = widgets.Select(attrs={'class': 'form-control'}) ) role_id = fields.MultipleChoiceField( choices=[], widget=widgets.SelectMultiple(attrs={'class': 'form-control'}) ) def __init__(self, *args, **kwargs): super(UserForm,self).__init__(*args,**kwargs) self.fields['ut_id'].choices = models.UserType.objects.values_list('id','title') self.fields['role_id'].choices = models.Role.objects.values_list('id','caption')注: username, password,渲染到页面是input标签属性的name值fields.CharField表示输入文本类型,fields.ChoiceField表示单选下拉框fields.MultipleChoiceField表示多选下拉框required=True表示必填选项error_messages={'required': '用户名不能为空'}表示错误提示widget = widgets.TextInput(attrs={'class': 'form-control'})表示增加class属性以上是"django中form表单组建使用及CBV模式的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
表单
模式
示例
分析
内容
篇文章
代码
函数
属性
方式
用户
用户名
视图
逻辑
邮箱
错误
下拉
学习
帮助
文本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑰夏咖啡
互联网科技产业
江苏根荣互联网科技
科技互联网产品
互联网下的科技发展
科技与互联网发展
致骋互联网科技
唐信互联网科技
无线互联网科技
广州凡科互联网科技
深圳互联网科技怎么样
老年人脱离互联网科技的作文
全球顶尖互联网科技公司
健康食品互联网创新科技园项目
河南住房之家互联网科技
西安小鹰速贷互联网科技有限公司
明优互联网科技有限公司
伍佰万互联网科技怎么赚钱
互联网企业科技类企业如何做账
中国互联网公司的科技投入
有格互联网科技
科技与互联网
工业互联网科技新基建
互联网科技公司怎么样
互联网金融科技创新
互联网科技公司需要的职位
玖二柒互联网科技公司待遇
中盈科技互联网信息有限公司
国大互联网教育科技有限公司工作
互联网科技品牌