1. 程式人生 > >從django的中介軟體直接返回請求

從django的中介軟體直接返回請求

栗子:
#coding=utf-8
import json
import gevent

from django.http import HttpResponse
from sdsom.web.recorder import get_event_type
from sdsom.web.recorder import get_request_event_info
from sdsom.db.rpcclient import get_db_client

class RecordEventMiddleWare(object) :

  def process_view(self, request, view, args, kwargs) :
    etype = get_event_type(request)
    if not etype :
      return None
    info = get_request_event_info(request, etype)

    info['status'] = "BEGIN"
    try:
      get_db_client().add_event_record(info)

    except :
      return HttpResponse(
            json.dumps({"susscess":0, "message":"記錄事件開始到資料庫出錯"}),
            content_type='application/json'
          )

    return None


如上程式碼所示,需要從django的http模組匯入HttpResponse類, 然後返回的時候可以把自己想要返回的字典內容用jsondump一把(如果不dump,上一層會處理報錯)。