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

 更新时间:2020年05月19日 14:25:52   作者:Aifore  
这篇文章主要介绍了Django获取model中的字段名和字段的verbose_name方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

定义模型:

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中执行CMD命令的方法总结

    Python中执行CMD命令的方法总结

    在实际开发中,有时候我们需要在Python中执行一些系统命令(CMD命令),本文将详细介绍在Python中执行CMD命令的方法,并通过丰富的示例代码帮助大家更全面地理解这一过程,希望对大家有所帮助
    2023-12-12
  • 基于Python 中函数的 收集参数 机制

    基于Python 中函数的 收集参数 机制

    今天小编就为大家分享一篇基于Python 中函数的 收集参数 机制,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python使用matplotlib实现绘制自定义图形功能示例

    Python使用matplotlib实现绘制自定义图形功能示例

    这篇文章主要介绍了Python使用matplotlib实现绘制自定义图形功能,结合实例形式分析了Python基于matplotlib模块实现自定义图形绘制相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • Django 重写用户模型的实现

    Django 重写用户模型的实现

    这篇文章主要介绍了Django 重写用户模型的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 从Python的源码浅要剖析Python的内存管理

    从Python的源码浅要剖析Python的内存管理

    这篇文章主要介绍了从Python的源码浅要剖析Python的内存管理,需要的朋友可以参考下
    2015-04-04
  • Python基础之Spyder的使用

    Python基础之Spyder的使用

    Spyder是一个用于科学计算的使用Python编程语言的集成开发环境(IDE),它结合了综合开发工具的高级编辑、分析、调试等功能,需要的朋友可以参考下
    2023-05-05
  • 简单瞅瞅Python vars()内置函数的实现

    简单瞅瞅Python vars()内置函数的实现

    这篇文章主要介绍了简单瞅瞅Python vars()内置函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 基于Pygame中Pygame模块的大战外星人实战

    基于Pygame中Pygame模块的大战外星人实战

    本文主要介绍了基于Pygame中Pygame模块的大战外星人实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 利用Python将数值型特征进行离散化操作的方法

    利用Python将数值型特征进行离散化操作的方法

    今天小编就为大家分享一篇利用Python将数值型特征进行离散化操作的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python图的深度优先和广度优先算法实例分析

    python图的深度优先和广度优先算法实例分析

    这篇文章主要介绍了python图的深度优先和广度优先算法,结合实例形式分析了图的深度优先算法与广度优先算法相关概念、原理、实现技巧与操作注意事项,需要的朋友可以参考下
    2019-10-10

最新评论