亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mongoengine 中如何添加帶格式的字符串(換行,空格等)

mongoengine 中如何添加帶格式的字符串(換行,空格等)

慕桂英546537 2019-04-16 20:27:59
使用Django框架.django中CharField對應mongoengine的StringField.但是TextField在mongoengine無對應類型.TextField可以保存帶格式的字符串,而CharField不行查看django文檔說是可以重寫,modelform.按照說明文檔添加相應配置報錯:File"/package/local/lib/python2.7/site-packages/django/forms/models.py",line153,infields_for_modelforfinsorted(opts.fields+opts.many_to_many):AttributeError:'MetaDict'objecthasnoattribute'fields'django相關文檔:https://docs.djangoproject.com/en/dev/topics/forms/modelforms/我理解是mongoengined的字段類型好像和django的的modelForm不匹配,現在也不知道怎么改?誰能告訴我如果讓mongoengine中的某個字段添加帶格式的字符串(換行,空格等)
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

其實我的問題很簡單,之前由于設置的mongo的字符大小,即此屬性:StringField(max_length=40)。所有在djangoadmin后臺中看到都是input輸入框,而我想生成的是textarea。
現在有兩個辦法:
辦法一比較麻煩,重寫后臺form,已經實現!
classTest(Document):
number=StringField(max_length=10,required=True)
classTest_Form(DocumentForm):
classMeta:
model=Test
fields=('number')
widgets={
'answer':forms.Textarea(attrs={'cols':80,'rows':20}),
}
第二個辦法,在model中缺省max_length即可實現相應效果
classTest(Document):
number=StringField()
                            
查看完整回答
反對 回復 2019-04-16
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

stringField中傳入regex參數即可,至于換行、空格什么的,就是正則表達式的內容了:
pythonfrommongoengineimport*
classUser(Document):
name=StringField(max_length=40,required=True)
phone=StringField(regex='^1\d{10}$',required=True)
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關注
  • 297 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號