将外部GPS数据导入Django项目

2024-06-16 16:23:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发我的第一个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应用程序中?我想我必须在模型文件中添加一些数据,但我不知道我需要将下面的部分放在哪里,请求接收到的数据,并实际将其存储在数据库中。在

我会很感激我能得到的所有帮助。在


Tags: 模块文件数据djangofromimport应用程序地图
2条回答

我通过创建独立的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()

你可以做一个Django management command

相关问题 更多 >