django入门指南(二)Python django 后端接口

一、from-data数据获取与返回

from django.http import JsonResponse
from test_test.models import Event
from django.core.exceptions import ValidationError,ObjectDoesNotExist

def add_event(request):
#获取接口请求参数
    eid = request.POST.get("eid","")
    name = request.POST.get("name","")
    limit = request.POST.get("limit","")
    status = request.POST.get("status","")
    address = request.POST.get("address","")
    start_time = request.POST.get("start_time","")
    #参数校验
    if eid =='' or name == '' or limit == '' or address == '' or start_time == '':
       print eid
       print name
       print address
       print limit
       print start_time
       return JsonResponse({'status':10021,'message':'parameter error kokokokkokok'+str(eid)})
    result = Event.objects.filter(id=eid)
    if result:
        return JsonResponse({'status':10022,'message':'event id already exists'})
    result = Event.objects.filter(name=name)
    if result:
        JsonResponse({'status':10023,'message':'event name already exists'})
    if status == '':
        status = 1
    try:
        # 在masql 数据库 插入一条数据
        Event.objects.create(id=eid,name=name,limit=limit,address=address,status=int(status),start_time=start_time)
    except ValidationError as e:
        error = 'start_time format error. It must be in YYYY-MM-DD HH:MM:SS format.'
        return JsonResponse({'status':10024,'message':error})
   #接口返回json格式数据
    return JsonResponse({'status':200,'message':'add event success'})

二、获取请求数据

from django.http import JsonResponse
from test_test.models import Event
from django.core.exceptions import ValidationError,ObjectDoesNotExist
import json
def add_event(request):
    eid = request.POST.get("eid","")
    name = request.POST.get("name","")
    limit = request.POST.get("limit","")
    status = request.POST.get("status","")
    address = request.POST.get("address","")
    start_time = request.POST.get("start_time","")
# request.body  获取请求的数据 并返回该数据 
    received_json_data = request.body
    return JsonResponse({'status':200,'message':received_json_data})

三 、django调试 日志

import logging

logging.error("出现了错误")
logging.info("打印信息")
logging.warning("警告信息")
logging.debug("csw")


#配置输出参数
logging.basicConfig(**kwargs)


#filename	指定日志输出目标文件的文件名,指定该设置项后日志信心就不会被输出到控制台了
#filemode	指定日志文件的打开模式,默认为'a'。需要注意的是,该选项要在filename指定时才有效
#format	指定日志格式字符串,即指定日志输出时所包含的字段信息以及它们的顺序。logging模块定义的格式字#段下面会列出。
#datefmt	指定日期/时间格式。需要注意的是,该选项要在format中包含时间字段%(asctime)s时才有效
#level	指定日志器的日志级别
#stream	指定日志输出目标stream,如sys.stdout、sys.stderr以及网络stream。需要说明的是,stream和#filename不能同时提供,否则会引发 ValueError异常
#style	Python 3.2中新添加的配置项。指定format格式字符串的风格,可取值为'%'、'{'和'$',默认为'%'
#handlers	Python 3.3中新添加的配置项。该选项如果被指定,它应该是一个创建了多个Handler的可迭代对#象,这些handler将会被添加到root logger。需要说明的是:filename、stream和handlers这三个配置项只##能有一个存在,不能同时出现2个或3个,否则会引发ValueError异常。
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='my.log', level=logging.DEBUG, format=LOG_FORMAT)

参考:https://segmentfault.com/a/1190000016068105

 

 

你可能感兴趣的:(django,django接口,python实现接口)