2016-03-01 76 views
-3

美好的一天我試圖將這個視圖保存在模型中,但它不起作用。如何正確地將此視圖保存在模型中

def my_view(request) 
    data = data['my_data'] 

    if request.method == 'POST': 
     data_a = request.POST.get(data["data_a"]) 
     high_temp = request.POST.get(data["data_b"]) 
     date = request.POST.get(data["data_c"]) 
     wind_speed = request.POST.get(data["data_d"]) 
     obj = WeatherData.objects.create(
      data_a=data_a, data_b=data_b, 
      data_c=data_c, data_d=data_d,) 
     obj.save() 

    return render(request, 'data.html', obj) 
+0

什麼是不工作?而'data ['my_data']'是什麼? – ilse2005

+0

什麼是不工作的意思?錯誤?結果無效? – Sayse

+0

@Sayse我的意思是,它不在模型中保存,也沒有任何錯誤。但是如果我保存在管理網站中,那麼它就是保存。 –

回答

1

可以使用的ModelForm:https://docs.djangoproject.com/es/1.9/topics/forms/modelforms/#modelform

forms.py: 
class WeatherForm(ModelForm): 
    class Meta: 
     model = Weather 
     fields = ['data_a', 'data_b', 'data_c', 'data_d'] 
views: 
def my_view(request) 
    data = data['my_data'] 
    form = WeatherForm(request.POST or None) 
    if form.is_valid(): 
     obj = form.save() 
    else: 
     obj = None 
    return render(request, 'data.html', {'form': form, 'obj': obj}) 
+0

你介意檢查一下嗎?這是原來的帖子,但無法得到它的幫助stackoverflow.com/questions/35708570/...這就是爲什麼我試着這種方法 –

3

假設你有POST代碼參數應該是這樣的:

def my_view(request) 
    data = data['my_data'] 

    if request.method == 'POST': 
     data_a = request.POST.get(data["data_a"]) 
     data_b = request.POST.get(data["data_b"]) 
     data_c = request.POST.get(data["data_c"]) 
     data_d = request.POST.get(data["data_d"]) 
     obj = WeatherData.objects.create(
      data_a=data_a, data_b=data_b, 
      data_c=data_c, data_d=data_d,) 
     # obj.save() --> you don't need save because you already called `create` 

    return render(request, 'data.html', obj) 
+0

你介意檢查這個嗎?這是原來的帖子,但無法得到它的幫助stackoverflow.com/questions/35708570/...這就是爲什麼我試着這種方法 –

+0

@DaveBecks,如果答案幫助你,請接受它。 – ilse2005

相關問題