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中執(zhí)行get_model.filed(’Game_app’,’Game’),那么field_dic結(jié)果為:
{’gameid’: ’u6e38u620fid’, ’id’: ’ID’, ’name’: ’u6e38u620fu540du79f0’}
通過for循環(huán)輸入result內(nèi)容:
gameid : 游戲idid : IDname : 游戲名稱
補充知識:Django Forms組件 的參數(shù)配置案例 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): # 模式:普通文本 標簽加上: name = forms.CharField(widget=widgets.TextInput(attrs={’class’: ’form-control’})) # 模式:密碼模式 標簽加上: pwd = forms.CharField(widget=widgets.PasswordInput( attrs={’class’: ’form-control’} ))
渲染自定義錯誤提示
視圖
from django.forms import widgets’’’追加error_messages參數(shù) 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方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. python 如何在 Matplotlib 中繪制垂直線2. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼3. ASP常用日期格式化函數(shù) FormatDate()4. python中@contextmanager實例用法5. html中的form不提交(排除)某些input 原創(chuàng)6. CSS3中Transition屬性詳解以及示例分享7. js select支持手動輸入功能實現(xiàn)代碼8. 如何通過python實現(xiàn)IOU計算代碼實例9. 開發(fā)效率翻倍的Web API使用技巧10. vue使用moment如何將時間戳轉(zhuǎn)為標準日期時間格式
