91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

张家口市| 芒康县| 绩溪县| 英吉沙县| 新晃| 罗平县| 晋江市| 大庆市| 松江区| 吴堡县| 穆棱市| 武陟县| 浦城县| 丹江口市| 建昌县| 梁山县| 宁晋县| 高唐县| 美姑县| 富裕县| 黄梅县| 汉中市| 和静县| 和顺县| 乌鲁木齐市| 敖汉旗| 剑阁县| 安泽县| 衡水市| 犍为县| 武平县| 吉安县| 通州区| 澄城县| 巴彦县| 富民县| 石城县| 浮梁县| 汝州市| 洛隆县| 邵武市|