python小网站开发

野生程序猿-杂烧4年前随意分享609

看了前面讲的开发分段,开发小网站其实需要到的知识点不太多,有其他语言基础的基本可以直接上手。

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

标签: python

相关文章

python多数据库+memcache操作练习

import function import math import threading from pymemcache.client.base ...

python操作mysql

根据php思路写的,最近有空的时候学一点python。# -*- coding: UTF-8 -*- import pymysql cla...

编译的困扰-经验分享

编译的困扰-经验分享

开发的时候我们编译经常遇到坑,一会要用python3,一会又要用python 2.7的情况,nodejs一会要这个版本,一会要那个版本的情况,甚至npm都有版本要求。...

python RabbitMq的订阅

【test_RabbitMq1.py】import pika import json credentials = pika.PlainCredentia...