定义模型:
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方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 给定Django模型,我试图列出其所有字段。我已经看到了使用_meta模型属性执行此操作的一些示例,但是meta前面的下划线是否表示_meta属性是私有属性,不应直接访问?…例如,因为_meta的布局将来可能会更改,并且不是稳定的API? _meta是该规则的例外吗?它是否稳定且可以使用,还是访问它的不正确做法?还是有一种功能或其他方法可以在不使用_meta属性的情况下自省模型的字段?
问题内容: 在Java中能否从实际字段中获取字符串中的字段名称?喜欢: PS:我 不是 在寻找字段的类/类名,也不是从String中的名称获取Field。 编辑:当我查看它时,我可能不需要一种获取字段名称的方法,该Field实例(来自字段的“代码名称”)就足够了。[例如] Java本身可能没有想要的东西。我将看一下ASM库,但最后我可能最终会使用字符串作为字段的标识符:/ EDIT2:我的英语不好
我已经建立了一个字段声明列表,需要找出每个字段的名称: 我找不到任何检索字段名称的方法。 奇怪的是,其中一个构造函数确实接受一个字段参数,所以不确定为什么它没有getter。我需要从另一个节点获取它吗? FieldDeclaration(节点列表修饰符、类型、字符串名称)创建一个FieldDeclaration。https://www.javadoc.io/doc/com.github.javap
本文向大家介绍在django中实现choices字段获取对应字段值,包括了在django中实现choices字段获取对应字段值的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧~ object.get_level_display() 补充知识:在Django中显示操作数据库的语句 需要在配置中加上这个 这样执行命令的时候,就会在控制台打印相应的sql语句了 以上这篇在
我试图制作一个方法,获取封闭实例中的任何字段,对于一对2D坐标(其字段名以“X”结尾)的任何“X”组件具有整数值。 但我在编译器中得到的只是: 方法将这样使用: 我做错了什么?
本文向大家介绍Django中模型Model添加JSON类型字段的方法,包括了Django中模型Model添加JSON类型字段的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Django中模型Model添加JSON类型字段的方法。分享给大家供大家参考。具体如下: Django里面让Model用于JSON字段,添加一个JSONField自动类型如下: 之后就直接为Model定义JSONF