亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Django在Model保存前記錄日志實(shí)例

 更新時(shí)間:2020年05月14日 16:17:55   作者:喝完這杯還有一箱  
這篇文章主要介紹了Django在Model保存前記錄日志實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

Django中如何在Model保存前做一定的固定操作,比如寫一句日志?

關(guān)鍵詞: 信號(hào)

利用Django的Model的Signal Dispatcher, 通過django.db.models.signals.pre_save() 方法,在事件發(fā)生前,

發(fā)射

觸發(fā)信號(hào),這一切都被調(diào)度中的receiver方法深藏功與名的保存了。

信號(hào)的處理一般都寫在Model中,舉個(gè)例子:

import logging
from django.db import models
from django.db.models.signals import pre_save
from django.dispatch import receiver
 
class Order(models.Model):
  # ...
 
logger = logging.getLogger(__name__)
 
@receiver(pre_save, sender=Order)
def pre_save_handler(sender, **kwargs):
  
  # 我們可以在Order這個(gè)Model保存之前盡情調(diào)戲了:)
  logger.debug("{}".format(sender, **kwargs))
  print 'fuck universe'

這樣應(yīng)該就實(shí)現(xiàn)了題中的要求,類似的方法還有比如 pre_init 是在Model實(shí)例之前會(huì)觸發(fā), post_init 在實(shí)例之后觸發(fā),同理就是 pre_save 和 post_save 了。

補(bǔ)充知識(shí):Django models.save()的問題

Django views.py 引用models.py進(jìn)行modles.objects.create()然后進(jìn)行.save的問題。

我們是不能直接進(jìn)行保存的,提交到數(shù)據(jù)庫(kù)里面的。

EX:

我們這里通過post獲取到信息后。

views.py

  def post(self, request, ab=None, all_seat=None):

    # 獲取用戶信息
    date = request.POST.get('date')
    time = request.POST.get('time')

然后

views.py

seatform = SeatForm(request.POST)
          # 提交給數(shù)據(jù)庫(kù)
          #這里的is_valid()是Django默認(rèn)的,檢查是否正確
        if seatform.is_valid():
          # 這里向數(shù)據(jù)庫(kù)新增一條信息,然后保存
          getSeat = Seat.objects.create(dateTime=date, classtime=time, status='0', user=name, number=label)
          getSeat.save()

上面的SeatForm()是我們?cè)谂cviews.py同級(jí)目錄下創(chuàng)建的forms.py

forms.py

class SeatForm(forms.Form):
#注意這里的date和time需要與前端的命名要一直
  date = forms.CharField()
  time = forms.CharField()

通過這樣的方法,我們就可以保存到數(shù)據(jù)庫(kù)了。

以上這篇Django在Model保存前記錄日志實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 教你使用Psycopg2連接openGauss的方法

    教你使用Psycopg2連接openGauss的方法

    Psycopg是一種用于執(zhí)行SQL語(yǔ)句的PythonAPI,可以為PostgreSQL、openGauss數(shù)據(jù)庫(kù)提供統(tǒng)一訪問接口,應(yīng)用程序可基于它進(jìn)行數(shù)據(jù)操作,這篇文章主要介紹了教你使用Psycopg2連接openGauss的方法,需要的朋友可以參考下
    2022-11-11
  • 最簡(jiǎn)單的matplotlib安裝教程(小白)

    最簡(jiǎn)單的matplotlib安裝教程(小白)

    這篇文章主要介紹了最簡(jiǎn)單的matplotlib安裝教程(小白),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • python人工智能算法之差分進(jìn)化算法的實(shí)現(xiàn)

    python人工智能算法之差分進(jìn)化算法的實(shí)現(xiàn)

    DE基于GA,正如進(jìn)化基于遺傳,和遺傳算法相比,差分進(jìn)化引入了差分變異模式,相當(dāng)于開辟了一條嶄新的進(jìn)化路徑,下面就來(lái)看看差分優(yōu)化算法是如何實(shí)現(xiàn)的吧
    2023-08-08
  • Django 路由控制的實(shí)現(xiàn)

    Django 路由控制的實(shí)現(xiàn)

    這篇文章主要介紹了Django 路由控制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • PyTorch 導(dǎo)數(shù)應(yīng)用的使用教程

    PyTorch 導(dǎo)數(shù)應(yīng)用的使用教程

    這篇文章主要介紹了PyTorch 導(dǎo)數(shù)應(yīng)用的使用教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python?sklearn?畫出決策樹并保存為PDF的實(shí)現(xiàn)過程

    python?sklearn?畫出決策樹并保存為PDF的實(shí)現(xiàn)過程

    這篇文章主要介紹了python?sklearn?畫出決策樹并保存為PDF的實(shí)現(xiàn)過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Django防御csrf攻擊的實(shí)現(xiàn)方式(包括ajax請(qǐng)求)

    Django防御csrf攻擊的實(shí)現(xiàn)方式(包括ajax請(qǐng)求)

    這篇文章主要介紹了Django防御csrf攻擊的實(shí)現(xiàn)方式(包括ajax請(qǐng)求),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 部署django項(xiàng)目安裝uwsgi出錯(cuò)的解決方法總結(jié)

    部署django項(xiàng)目安裝uwsgi出錯(cuò)的解決方法總結(jié)

    uwsgi協(xié)議是一個(gè)uWSGI服務(wù)器自有的協(xié)議,它用于定義傳輸信息的類型(type of information),每一個(gè)uwsgi packet前4byte為傳輸信息類型描述,它與WSGI相比是兩樣?xùn)|西,下面這篇文章主要給大家介紹了關(guān)于部署django項(xiàng)目安裝uwsgi出錯(cuò)的解決方法,需要的朋友可以參考下
    2022-08-08
  • 使用python創(chuàng)建生成動(dòng)態(tài)鏈接庫(kù)dll的方法

    使用python創(chuàng)建生成動(dòng)態(tài)鏈接庫(kù)dll的方法

    這篇文章主要介紹了使用python創(chuàng)建生成動(dòng)態(tài)鏈接庫(kù)dll的方法,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python實(shí)現(xiàn)簡(jiǎn)單成績(jī)錄入系統(tǒng)

    python實(shí)現(xiàn)簡(jiǎn)單成績(jī)錄入系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單成績(jī)錄入系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評(píng)論