django中form表单组建使用及CBV模式的示例分析
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要为大家展示了"django中form表单组建使用及CBV模式的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"django中form表单
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
大学生网络安全视频宣传片
软件开发功劳被抢
我的世界es服务器怎么加材质包
数据库中ndf什么意思
数据库大数据技术是学什么的
地下城服务器喇叭图片
xp 找不到服务器或dns错误
网络技术部部门简介
番禺app软件开发排名
网络技术概括
扬州营销软件开发中心
进厂做软件开发
专科网络安全技术专业就业前景
网络安全扫描名词解释
大华怎么进入服务器管理界面
新吴区海航软件开发收费标准
内部邮件服务器
苏州汉唐软件开发有限公司
轩辕传奇服务器进不去
t-sql数据库编程实验步骤
临沂市越翔网络技术有限公司
预言网络安全态势
部队计算机网络安全论文
人渣服务器延迟高怎么办
什么是数据库的数据安全性
zinc数据库介绍
北京方便软件开发价格优惠
网络安全大赛福州大学
网络日志服务器
威海民主评议软件开发公司