Django获取model中的字段名和字段的verbose_name方式


Posted in Python onMay 19, 2020

定义模型:

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方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
初学python的操作难点总结(新手必看篇)
Aug 03 Python
python使用super()出现错误解决办法
Aug 14 Python
图解Python变量与赋值
Apr 03 Python
Python标准库shutil用法实例详解
Aug 13 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
让你的Python代码实现类型提示功能
Nov 19 Python
Python如何使用正则表达式爬取京东商品信息
Jun 01 Python
keras 多gpu并行运行案例
Jun 10 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 Python
Python日志处理模块logging用法解析
May 19 #Python
基于PyQT实现区分左键双击和单击
May 19 #Python
Python更换pip源方法过程解析
May 19 #Python
解决Django Haystack全文检索为空的问题
May 19 #Python
浅谈django 重载str 方法
May 19 #Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 #Python
在Django中自定义filter并在template中的使用详解
May 19 #Python
You might like
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
wxPython学习之主框架实例
2014/09/28 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python3安装speech语音模块的方法
2018/12/24 Python
python中的协程深入理解
2019/06/10 Python
python 实现目录复制的三种小结
2019/12/04 Python
基于Python实现简单学生管理系统
2020/07/24 Python
Python安装Bs4的多种方法
2020/11/28 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
计算机毕业生自荐信
2014/06/12 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
运动会观后感
2015/06/09 职场文书
张思德观后感
2015/06/09 职场文书
毕业赠语大全
2015/06/23 职场文书
新年祝酒词大全
2015/08/11 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书