定义模型:
class Game(models.Model): name = models.CharField(u'游戏名称',max_length=30) gameid = models.CharField(u'游戏id',max_length=20) def __str__(self): return self.name
获取字段名和verbose_name:
from django.apps import apps def getmodelfield(appname,modelname): modelobj = apps.get_model(appname,modelname) field_dic={} for field in modelobj._meta.fields: field_dic[field.name] = field.verbose_name print('字段类型:',type(field).__name__) #返回的是‘charfield','textfield',等这些类型 return field_dic
注:appname是model所在app的名字,modelname是model的名字
如果在view中执行get_model.filed('Game_app','Game'),那么field_dic结果为:
{'gameid': '\u6e38\u620fid', 'id': 'ID', 'name': '\u6e38\u620f\u540d\u79f0'}
通过for循环输入result内容:
gameid : 游戏id id : ID name : 游戏名称
补充知识:Django Forms组件 的参数配置案例 input样式, 渲染的标签加class 错误信息提示
Forms渲染出标签类型
密码型、文本型、邮箱型框
from django.forms import widgets # 自定义格式方法 class UserForm(forms.Form): '''最小4位 且 模式:普通文本''' name = forms.CharField(min_length=4, label='姓名:',widget=widgets.TextInput()) '''最小4位 且 模式:密码模式''' pwd = forms.CharField(min_length=4, label='密码:', widget=widgets.PasswordInput())
渲染时添加属性 class=''(便于bootstrap)
from django.forms import widgets '''在widgets.类型(加入字典形式的标签信息)''' class UserForm(forms.Form): # 模式:普通文本 标签加上:class="form-control" name = forms.CharField(widget=widgets.TextInput(attrs={'class': 'form-control'})) # 模式:密码模式 标签加上:class="form-control" pwd = forms.CharField(widget=widgets.PasswordInput( attrs={'class': 'form-control'} ))
渲染自定义错误提示
视图
from django.forms import widgets '''追加error_messages参数 dict型式''' class UserForm(forms.Form): # 模式:required=不能为空的提示 name = forms.CharField(min_length=4, label='姓名:', error_messages={ 'title': {'required': '不能为空哦亲亲'}, 'price': {'invalid': '格式错误(提示方法)'}, # '字段': {'错误类型': '提示信息'} }) # 模式:invalid=格式错误 pwd = forms.CharField(min_length=4, label='密码:', error_messages={ 'title': {'required': '不能为空哦亲亲'}, 'price': {'invalid': '格式错误(提示方法)'}, # '字段': {'错误类型': '提示信息'} })
HTML展示错误信息
<form action="" method="post" novalidate="novalidate"> <!--要自定义提示必须 novalidate="novalidate"--> {% csrf_token %} {% for field in form %} <p> {{ field.label }}{{ field }} <span>{{ field.errors.0 }}</span> <!--错误信息固定:field.errors.0 --> </p> {% endfor %} <p><input type="submit" value="提交"></p> </form>
以上这篇Django获取model中的字段名和字段的verbose_name方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Django获取model中的字段名和字段的verbose_name方式”评论...
更新日志
2024年11月08日
2024年11月08日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]