2014-09-18 48 views
0

我是新的Django,我想創建一個表單來更新一些數據庫條目。Django模型表單不更新數據庫記錄

這是一個簡單的形式,在那裏我有,我寫的,我要更新的記錄的ID簡單的輸入文字:

main.html中

<form method='post' action='/config/{{ idprov }}' > 
<input type="text" class="form-control" name="idprov" id="idprov" value ="{{ idprov }}" /> 
<input class="btn btn-danger" type="submit" value="Config"> 
</form> 

forms.py

from django import forms 
from .models import Proveedor, Estado, Config 

class ConfigForm(forms.ModelForm): 
    class Meta: 
     model = Config 

這是我的views.py:

def configView(request,idprov): 

    prov = Config.objects.get(idproveedor=idprov) 
    if request.method == 'POST': 
     form = ConfigForm(request.POST or None, instance=prov) 
     if form.is_valid(): 
      form.save(commit=false) 
      return HttpResponseRedirect('/monitor/') 
    else: 
     form = ConfigForm(instance=prov) 
    return render_to_response('config.html', 
           {'form':form}) 

我的模板config.html:

{% extends 'base.html' %} 
{% block content %} 
<div class="container"> 
<div class="row"> 
<div class="col-md-4"> 
<form method='POST' action='' > 
    <div class="form-group">{% csrf_token %} 
     {{ form.as_p }} 
    </div> 
     <button type='submit' class="btn btn-primary">Grabar</button> 
</form> 
</div> 
</div> 
</div> 
{% endblock %} 

我urls.py:

from django.conf.urls import patterns, include, url 
from prov.views import home 
from prov.views import proveedores 
from prov.views import estado 
from prov.views import monitorViewV2 

from django.contrib import admin 
admin.autodiscover() 
urlpatterns = patterns('', 
    # Examples: 
    url(r'^$', 'prov.views.home', name='home'), 
    url(r'^proveedores/$', 'prov.views.proveedores', name='proveedor'), 
    url(r'^estado/$', 'prov.views.estado', name='estado'), 
    url(r'^monitor/$', 'prov.views.monitorView', name='monitor'), 
    url(r'^monitorv/$', 'prov.views.monitorViewV2', name='monitorv2'), 
    url(r'^config/(?P<idprov>\d+)/$', 'prov.views.configView',name='config'), 
    url(r'^admin/', include(admin.site.urls)), 
) 

但我收到錯誤找不到網頁。 我嘗試關注其他片段,並始終提出不同的錯誤。

我認爲這個錯誤發生在urls.py和我從main.html傳遞參數的方式中。

任何意見或片段將是非常讚賞提前

感謝

回答

1

首先,你必須在你的視圖form.save(commit=false)後來沒有保存它,這就是意味着數據永遠不會保存到模型中。

其次在你的模板config.html表單動作是空<form method='POST' action=''>變化爲<form method='POST' action='.'>

我希望對您有所幫助。

+0

感謝您的回覆,但未找到錯誤頁面仍然存在。我認爲這個錯誤在main.html中。我很困惑 – Joseleg 2014-09-19 16:17:04

+0

什麼在你的urls.py? – 2017-05-16 15:16:01