【发布时间】:2018-11-14 23:24:29
【问题描述】:
客户: 我在 django 上发帖
import requests
payload = {'datax':['12', '15'], 'datay':['22', '23'], 'timestamp':['1', '2'], 'data':['20', '19'], 'timestamp1':['1', '2'], 'mission':['Mission01', 'Mission01']}
r = requests.post("http://127.0.0.1:8000", data=payload)
服务器(Django):我收到来自客户端的 http 帖子,并将数据保存在数据库中。 这是我的模型 主页/models.py
from django.db import models
class Mission(models.Model):
name = models.CharField(max_length=250)
description = models.CharField(max_length=1000)
type = models.CharField(max_length=500)
date = models.DateField()
def __str__(self):
return self.name + '-' + self.description
class SensorLog (models.Model):
mission = models.ForeignKey(Mission, on_delete=models.CASCADE)
data = models.CharField(max_length=50)
timestamp = models.CharField(max_length=50)
class PositionLog(models.Model):
mission = models.ForeignKey(Mission, on_delete=models.CASCADE)
datax = models.CharField(max_length=50)
datay = models.CharField(max_length=50)
timestamp = models.CharField(max_length=50)
这是我的看法 主页/view.py
from django.shortcuts import render
from django.http import Http404, HttpResponse
from django.views.decorators.csrf import csrf_exempt
from .models import Mission, SensorLog, PositionLog
@csrf_exempt
def home(request):
if request.method == 'POST':
data = request.POST.getlist('datax')
datass = request.POST.getlist('datay')
timestampss = request.POST.getlist('timestamp')
datas = request.POST.getlist('data')
timestamps = request.POST.getlist('timestamp1')
missions = request.POST.getlist('mission')
for i in range(len(data)):
mission = Mission.objects.get(name=missions[i])
post1 = PositionLog.objects.create(datax=data[i], datay=datass[i], timestamp=timestampss[i], mission=mission)
post = SensorLog.objects.create(data=datas[i], timestamp=timestamps[i], mission=mission)
return HttpResponse()
def index(request):
all_mission = Mission.objects.all()
context = {'all_mission': all_mission}
return render(request, 'mission/index.html', context)
def detail(request, mission_id):
try:
mission = Mission.objects.get(pk=mission_id)
except Mission.DoesNotExist:
raise Http404("Mission dose not exist")
return render(request, 'mission/detail.html', {'mission': mission})
我的 urls.py
from django.contrib import admin
from django.urls import path, include
from home import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.home, name ='home'),
path('mission/', include('home.urls'))
]
这在我的主页/urls.py 中的网址中
from django.conf.urls import url
from . import views
urlpatterns = [
#/mission/
url(r'^$', views.index, name='index'),
#/mission/712/
url(r'(?P<mission_id>[0-9]+)/$', views.detail, name='detail'),
]
我收到了我的 http 帖子,但没有保存数据。我有(“POST / HTTP/1.1”200 0) 为什么不保存数据?我的错误在哪里?
【问题讨论】:
-
你有没有日志,错误,调试信息,你试过什么,你有没有识别出不起作用的代码段,你怎么知道数据没有保存(仅通过你的视图)或者您可以通过 django 管理工具确认),...
-
你能发布你的
urls.py吗? -
是的,我在 urls.py 上方添加了
标签: django database python-3.x http