2014-09-18 4 views
0

django에서 새로 왔으며 일부 데이터베이스 항목을 업데이트하기위한 양식을 만들고 싶습니다.Django Model form은 데이터베이스 레코드를 업데이트하지 않습니다.

이 내가 내가 업데이트 할 레코드의 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

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}) 
,369 :

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

class ConfigForm(forms.ModelForm): 
    class Meta: 
     model = Config 
내 views.py입니다

내 템플릿 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

+0

당신의 urls.py에 무엇이 있습니까? –