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基本网站功能就可以做了。
