Python 将远程CSV文件数据发布到django本地服务器问题
所以我有一个Raspberry Pi在一个CSV文件中收集数据,该文件存储在Pi的本地。Raspberry Pi连接到大学网络,因此要远程访问Pi,我只需连接到大学网络,并在我的PyCharm IDE中设置远程项目解释器 我编写了一个脚本,它访问本地Raspberry Pi上的特定CSV文件,然后将每行数据发布到本地Django服务器。但是当我运行它的时候,我不断地得到一个错误。我在自己的计算机上用本地CSV文件测试了本地Django服务器和脚本,它工作正常 我经常遇到的错误是: requests.exceptions.ConnectionError:HTTPConnectionPool(host='127.0.0.1',port=8000):url:/datavaluetable超过最大重试次数/(由NewConnectionError引起(':未能建立新连接:[Errno 111]连接被拒绝]) 我解决这个问题的第一个想法是:Python 将远程CSV文件数据发布到django本地服务器问题,python,django,raspberry-pi,Python,Django,Raspberry Pi,所以我有一个Raspberry Pi在一个CSV文件中收集数据,该文件存储在Pi的本地。Raspberry Pi连接到大学网络,因此要远程访问Pi,我只需连接到大学网络,并在我的PyCharm IDE中设置远程项目解释器 我编写了一个脚本,它访问本地Raspberry Pi上的特定CSV文件,然后将每行数据发布到本地Django服务器。但是当我运行它的时候,我不断地得到一个错误。我在自己的计算机上用本地CSV文件测试了本地Django服务器和脚本,它工作正常 我经常遇到的错误是: request
import csv
import requests
csvFilePath = '/home/pi/temp/tmp.csv' # local directory of CSV on Pi
with open(csvFilePath) as f: # opens csv file as variable f
reader = csv.DictReader(f)
for row in reader: # Iterates through each row
x = requests.post('http://127.0.0.1:8000/datavaluetable/', headers={'Content-Type': 'application/json'}, json=row)
Django后期处理代码(Views.py):
树莓皮上有防火墙吗?我不这么认为。至少我从来没有在上面设置过防火墙。我还检查了谷歌,听上去树莓皮一般不带预先设置的防火墙。所以它不应该有防火墙。
RESERVED_FIELDS = ['Node ID', 'System Time']
class DataValueTableList(APIView):
parser_classes = [JSONParser]
authentication_classes = []
permission_classes = []
def post(self, request, format=None):
datas = request.data
nodeID = datas.get("Node ID")
timestamp = datas.get("System Time")
for key, value in datas.items(): # iterates through each key
if key in RESERVED_FIELDS:
continue
else:
DataValueTable.objects.create(sensorName=nodeID, timestamp=timestamp, valueName=key)
return Response(status=status.HTTP_201_CREATED)