中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django怎么獲取model中的字段名和字段的verbose_name

發布時間:2020-07-23 14:27:37 來源:億速云 閱讀:517 作者:小豬 欄目:開發技術

這篇文章主要講解了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有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江永县| 山阴县| 玛多县| 广安市| 连城县| 莆田市| 广平县| 剑阁县| 广南县| 浦县| 门源| 张家界市| 叙永县| 肇州县| 英山县| 栾城县| 兰考县| 武宣县| 临清市| 贵州省| 康马县| 正定县| 石楼县| 鄂伦春自治旗| 岳普湖县| 澎湖县| 永州市| 北安市| 西宁市| 云林县| 南投市| 工布江达县| 邵阳市| 开江县| 双柏县| 汨罗市| 准格尔旗| 安阳县| 秦皇岛市| 察雅县| 兰溪市|