Импорт внешних данных GPS в проект Django - PullRequest
1 голос
/ 12 марта 2012

В настоящее время я работаю над своим первым приложением Django, пытаясь отобразить данные GPS в GoogleMap. Пока у меня все работает со статическими точками на карте. Теперь у меня есть модуль GPS, который отправляет сообщения каждые 5 секунд на мой компьютер, и теперь мне нужно выяснить, как импортировать данные в мой текущий проект.

На данный момент у меня просто работает основной файл Python, собирающий данные и отображающий его в оболочке, которая работает нормально.

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 голосов
/ 13 августа 2012

Я сделал это, создав автономную программу на 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()
0 голосов
/ 13 марта 2012

Вы можете сделать команду управления Django

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...