将外部GPS数据导入Django项目

时间:2012-03-12 15:45:41

标签: python django gps

我正在研究我的第一个Django应用程序,目前试图在GoogleMap上显示GPS数据。到目前为止,我已经在地图上运行了静态点。我现在有一个GPS模块,每5秒钟向我的计算机发送一次消息,我现在需要弄清楚如何将数据导入我当前的项目。

目前我只有一个基本的Python文件,它正在运行拾取数据并在shell中显示它正常工作。

import socket
import sys,os //probably not needed at the moment

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("192.168.33.177", 60043))
while 1:
    (received,from_) = sock.recvfrom(1024)
    print from_
    print received

现在如何将其存储在我的Django应用程序中?我想我必须在数据的模型文件中添加一些东西,但我不知道我需要从下面放置部件来询问接收的数据并将其实际存储在数据库中。

我将感谢能得到的所有帮助。

2 个答案:

答案 0 :(得分:0)

您可以制作Django management command

答案 1 :(得分:0)

我是通过创建独立的python程序

来实现的
# -*- coding: utf-8 -*-
import socket, string
import MySQLdb
import select

def write_message(x):
    db = MySQLdb.connect(host="localhost", user="root", passwd="****", db="****", charset='utf8')
    cursor = db.cursor()
    sql = '''INSERT INTO test(test_c) VALUES ('%(test_c)s') '''%{"test_c":x}
    cursor.execute(sql)
    db.commit()
    db.close()
    return x  

HOST = ""
PORT = 1234567

srv = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
srv.bind((HOST, PORT))
while 1:
    print u"Listen to " + str(PORT)
    srv.listen(1)             
    sock, addr = srv.accept()
    while 1:
        pal = sock.recv(2048)
        if not pal: 
            break
        print u"Recieved %s:%s:" % addr, pal
        lap = write_message(pal)
    sock.close()