python小网站开发
看了前面讲的开发分段,开发小网站其实需要到的知识点不太多,有其他语言基础的基本可以直接上手。
【views.py】
""" 从module里 取方法,直接把数据提供到当前view层 主要算法需要放在module里,方便复用 """ from django.http import HttpResponse from django.shortcuts import render import function import module base = function.base() config=module.config() def index(request): context = {} context['hello'] = 'Hello World!' context['config'] = config.get() return render(request, 'index.html', context) def gps_guiji(request): print("gps_guiji") motogps = module.motogps() imei = base.get(request, 'imei') startdate = base.get(request,'startdate') enddate = base.get(request,'enddate') print(imei) print(startdate) print(enddate) obj={'imei':request.GET['imei'],'startdate':'2020-10-01 00:00:00','enddate':'2020-12-30 00:00:00'} print(obj) gps_list=motogps.get_list(obj) context = {} context['gps_list'] = gps_list return render(request, 'gps_guiji.html', context)
【api.py】
""" 从module里 取方法,直接把数据提供到当前api层 主要算法需要放在module里,方便复用 """ from django.http import HttpResponse from django.http import JsonResponse import config CONFIG = config.config() import function base = function.base() gps = function.gps() import module print(CONFIG.get_config()) print(CONFIG.get_config_other()) print('gps.in_china') print(gps.in_china(73.573062,39.462746)) print(gps.in_china(72.322046,40.14388)) print(gps.in_china(76.222273,39.57674)) print(gps.in_china(82.477354,28.327113)) print(gps.in_china(120.542727,23.41755)) print(gps.in_china(125.841148,40.382108)) print(gps.in_china(131.581105,48.28669)) print(gps.in_china(109.651527,19.282077)) print(gps.in_china(121.555297,25.265548)) print(gps.in_china(120.78721,22.007467)) def order_list(request): order = module.order() arrjson={'success':True,"list":order.list()} print(arrjson) json=base.json_encode(arrjson) print(json) return HttpResponse(json) def gps_guiji(request): print("gps_guiji") motogps = module.motogps() imei = base.get(request, 'imei') print('get_report') startdate = base.get(request,'starttime') enddate = base.get(request,'endtime') today=base.timetostr('%Y-%m-%d') if startdate=='': startdate=today+' 00:00:00' if startdate=='': enddate=today+' 23:59:59' print(imei) print(startdate) print(enddate) obj={'imei':request.GET['imei'],'startdate':startdate,'enddate':enddate} print(obj) acc = base.get(request, 'acc') if acc!='': acc=int(acc) else: acc=0 gps_list=motogps.get_list(obj,acc) arrjson={'success':True,"list":gps_list} #print(arrjson) #json=base.json_encode(arrjson) #base.save_txt("test.json",json) #print(json) # response=JsonResponse(arrjson) # response["Access-Control-Allow-Origin"] = "*" # response["Access-Control-Allow-Methods"] = "POST, GET, OPTIONS" # response["Access-Control-Max-Age"] = "1000" # response["Access-Control-Allow-Headers"] = "*" return base.allow_all_api(JsonResponse(arrjson)) # 从数据库获取数据,只是获取数据,加了个时间排序修复数据 def get_data(request): print("get_data") motogps = module.motogps() imei = base.get(request, 'imei') startdate = base.get(request,'starttime') enddate = base.get(request,'endtime') today=base.timetostr('%Y-%m-%d') if startdate=='': startdate=today+' 00:00:00' if startdate=='': enddate=today+' 23:59:59' print(imei) print(startdate) print(enddate) obj={'imei':request.GET['imei'],'startdate':startdate,'enddate':enddate} print(obj) data=motogps.get_data(obj) arrjson={'success':True,"data":data} return base.allow_all_api(JsonResponse(arrjson)) def gps_report(request): print("gps_report") motogps = module.motogps() imei = base.get(request, 'imei') print('get_report') data=motogps.get_report(imei,'') arrjson={'success':True,"data":data} return base.allow_all_api(JsonResponse(arrjson)) def savepoint_from_taos(request): print("savepoint_from_taos") motogps = module.motogps() imei = base.get(request, 'imei') print('savepoint_from_taos') data=motogps.savepoint_from_taos(imei) print(data) if (data['result']==data['mem1_str'] and data['result']==data['mem2_str']): arrjson = {'success': True, "data": data} else: arrjson = {'success': False, "data": data} return base.allow_all_api(JsonResponse(arrjson)) def saveallstatus_from_taos(request): print("saveallstatus_from_taos") motogps = module.motogps() imei = base.get(request, 'imei') print('saveallstatus_from_taos') data=motogps.saveallstatus_from_taos(imei) print(data) if (data['result']==data['mem1_str'] and data['result']==data['mem2_str']): arrjson = {'success': True, "data": data} else: arrjson = {'success': False, "data": data} return base.allow_all_api(JsonResponse(arrjson)) def savepoint_from_taos2(request): print("savepoint_from_taos") motogps = module.motogps() imei = base.get(request, 'imei') print('savepoint_from_taos2') data=motogps.savepoint_from_taos2(imei) print(data) if (data['result']==data['mem1_str'] and data['result']==data['mem2_str']): arrjson = {'success': True, "data": data} else: arrjson = {'success': False, "data": data} return base.allow_all_api(JsonResponse(arrjson)) def saveallstatus_from_taos2(request): print("saveallstatus_from_taos") motogps = module.motogps() imei = base.get(request, 'imei') print('saveallstatus_from_taos2') data=motogps.saveallstatus_from_taos2(imei) print(data) if (data['result']==data['mem1_str'] and data['result']==data['mem2_str']): arrjson = {'success': True, "data": data} else: arrjson = {'success': False, "data": data} return base.allow_all_api(JsonResponse(arrjson))
已经可以按照模块化的思路写页面(带逻辑功能了),这个是取gps经纬度画轨迹的小网站。会get、post基本网站功能就可以做了。