最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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中執(zhí)行get_model.filed('Game_app','Game'),那么field_dic結果為:

{'gameid': '\u6e38\u620fid', 'id': 'ID', 'name': '\u6e38\u620f\u540d\u79f0'}

通過for循環(huán)輸入result內(nèi)容:

gameid : 游戲id
id : ID
name : 游戲名稱

補充知識: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):
 # 模式:普通文本 標簽加上: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參數(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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

海伦市| 西青区| 绥棱县| 嘉善县| 德化县| 毕节市| 武鸣县| 深水埗区| 界首市| 阿拉尔市| 大连市| 寻乌县| 浮山县| 招远市| 绥芬河市| 梓潼县| 永泰县| 宁南县| 贡嘎县| 丰顺县| 巩留县| 明光市| 五常市| 辽阳县| 抚远县| 元氏县| 昂仁县| 故城县| 新营市| 贺兰县| 定边县| 舒兰市| 彭山县| 汕头市| 克拉玛依市| 竹溪县| 汾西县| 响水县| 格尔木市| 隆尧县| 湘阴县|