Django 開發(fā)過程中問題

  • choice 選項問題
    例如在 model 中定義的是 choices = ((1, 'xx'), (2, 'sdf'), (3, 'zzz'))
    那么在模板中顯示 xx, sdf, zzz 怎么顯示呢?不能直接 .<field>,這樣會直接顯示1 2 3 這些值,那么可以使用 get_字段_display 來顯示。
  • form 中字段驗證問題
def clean(self):
    password = self.cleaned_data.get('password ')
    re_password = self.cleaned_data.get('re_password ')
    if re_password and re_password != password:
        self.add_error('re_password', ValidationError("兩次密碼不一致"))
    else:
        return self.clean_data

注意:全局驗證的時候需要返回 self.cleaned_data,局部例如 def clean_username 時候需要返回字段的名稱。

  • 關(guān)于時間分組問題
    當(dāng)需要對時間進(jìn)行分組時
ret = models.xxx.objects.all.extra(
    select={“x”: “date_format(create_time, '%%Y-%%m')”}
).values('c').annotate(x=Count('id')).values('c', 'x')
  • 關(guān)于文本輸入框中 xss 攻擊問題
    做字符串截取的時候,需要利用到 bs4 模塊
from bs4 import BeautifulSoup as bs
html = bs(content, 'lxml')
desc = html.text[0:150]
過濾非法標(biāo)簽
for tag in html.find_all():
        if tag.name in ['script', 'link']:
            # 刪除此標(biāo)簽
            tag.decompose()
            # 或者可以使用 replace_with() 替代
  • form select 選擇問題
# 靜態(tài)字段
user_type=fields.ChoiceField(
    choices=[(1,"普通用戶"),(2,"超級用戶")],
    widget=widgets.Select,
    )
# 數(shù)據(jù)庫中取字段,但是數(shù)據(jù)庫更改后不會同步
user_type=fields.ChoiceField(    
    choices=models.UserType.objects.all().values_list("id","name"),#要返回元組列表
     widget=widgets.Select,
    )
# 同步數(shù)據(jù)庫,重新寫 __init__ 方法
 在 form 中
user_type=fields.ChoiceField(
    choices=models.UserType.objects.all().values_list("id","name"),
    widget=widgets.Select,
    )
def __init__(self,*args,**kwargs):
    super(UserInfoForm,self).__init__(*args,**kwargs)       
    self.fields["user_type"].choices=models.UserType.objects.all().values_list("id","name")
  • 過期 session
    Django 對于過期的 session 并不會自動清除,所以需要手動清除,可以設(shè)置一個定時任務(wù)。
    命令:python manage.py clearsessions
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTML表單 在HTML中,表單是 ... 之間元素的集合,它們允許訪問者輸入文本、選擇選項、操作對象等等,然后將...
    蘭山小亭閱讀 3,503評論 2 14
  • ModelForm 請參考官方文檔 一、Form組件初識 參考博客一 武沛奇老師博客參考博客二 Django的F...
    CaiGuangyin閱讀 3,820評論 1 3
  • 那些細(xì)微的讓人分不清楚的花種, 實際上內(nèi)在有著很大的差別。 我們想種出什么顏色的花, 并不是在于你后期是如何努力的...
    清風(fēng)明月馮耀杰閱讀 418評論 0 5
  • 養(yǎng)生和護(hù)膚都是一條漫漫長路。我從一個小白,到現(xiàn)在漸漸知道自己的皮膚能用什么,不能用什么,和能吃什么,怎么吃。也逐漸...
    魚與醬閱讀 688評論 8 10
  • 這個世界可能需要更多平凡的孩子,所以別怕想做的事盡管去做,這個過程中你會不斷地努力充實自己,讓自己更優(yōu)秀。...
    謂汝荒涼閱讀 390評論 0 1

友情鏈接更多精彩內(nèi)容