定义模型:
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```
<p>注:appname是model所在app的名字,modelname是model的名字</p>
<p>如果在view中执行get_model.filed('Game_app','Game'),那么field_dic结果为:</p>
<blockquote>
<p>{'gameid': '\u6e38\u620fid', 'id': 'ID', 'name': '\u6e38\u620f\u540d\u79f0'}</p>
</blockquote>
<p>通过for循环输入result内容:</p>
```python
gameid : 游戏id
id : ID
name : 游戏名称```
<p><span style="color: #ff0000"><strong>补充知识:</strong></span><strong>Django Forms组件 的参数配置案例 input样式, 渲染的标签加class 错误信息提示</strong></p>
<p><strong>Forms渲染出标签类型</strong></p>
<p>密码型、文本型、邮箱型框</p>
```python
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博客。
标签:django
Powered By python教程网 鲁ICP备18013710号
python博客 - 小白学python最友好的网站!