Models.py ::
class Device(models.Model):
mac_id = models.CharField(max_length=100, unique=True)
hostname = models.CharField(max_length=100)
host_ip = models.GenericIPAddressField(unique=True)
api.py ::
from tastypie.resources import ModelResource
from tastypie.authentication import BasicAuthentication
from tastypie.authorization import Authorization
from .models import *
class DeviceResource(ModelResource):
class Meta:
queryset = Device.objects.all()
allowed_methods = ['post','get']
resource_name = "devices"
authentication = BasicAuthentication()
authorization = Authorization()
卷曲要求
curl -u user:passwd --dump-header - -H "Content-Type: application/json" --data '{"device_name": "sdf-321", "hostname": "sdf", "mac_id": "fsdfa-321", "host_ip": "127.0.0.160"}' -X POST localhost:8000/device/api/v1/devices/
注意
通过curl请求,我能够将JSON数据发布到django db,但是如何在客户端发布数据和接收成功响应,则该数据是POSTED @ SERVER DB 。
我想创建一个将在linux CLient中运行的python脚本,当它运行时,它将提取其SYSTEM信息(mac_id,主机名,host_ip)并将其发布到django Server,并得到响应,表明其数据已提交。
谁能帮助我创建Python脚本(client.py ),该脚本将使用REST / JSON通信协议在客户端和服务器之间进行上述通信。
现在,您可以看到我尝试了好吃的..
代码将受到高度欢迎,而不是建议(也将受到欢迎)
希望我的问题清楚,如果还有其他需要的信息请问我。
等待解决方案.. :-)
我总是喜欢在Django中开发REST Full API时使用Advance REST Client 。
希望这对您有帮助。 :)