-1

私のhtmlで:

 <form action="/smartlogis/result_material/{{form.DBR_No.value}}/" method="POST">
    {{form.as_ul}}
    <input type="submit" value="Submit" /></form>
 <form action="/smartlogis/result_material/{{form.DBR_No.value}}/" method="GET">   

  <input type="submit" value="Delete" />
</form>

views.py:

def Matedit1(request、DBR_No):

f = Movement_In.objects.get(DBR_No=DBR_No)
if request.method == 'POST':

    form = Movement_ReceiptForm(request.POST, request.FILES, instance=f) 
    if form.is_valid():

        form.save()
        return HttpResponseRedirect('/thanks/')
else:
    print "ahj"
    if request.method == 'GET':
        print "dsfsf"
        form = Movement_ReceiptForm(request.POST, request.FILES, instance=f)
        if request.POST.get('delete'):
            form.delete()
            return HttpResponseRedirect('/smartlogis/matdelete.html/')

そして今、私が削除ボタンをクリックしている間、それはelseループに入りますが、フォームは削除されません。そしてそれは直接HttpResponseRedirectに行きます

4

1 に答える 1

0

リクエストを GET と POST の両方にすることはできないため、delete ステートメントを呼び出すことはできません。また、「f」を削除したい場合は、

f.delete()

しかし、繰り返しますが、これは呼び出されません。フォームまたはモデル フォームで delete() が定義されていないというエラーが発生しないという事実は、このコードをどのような条件下でも呼び出すことができないという事実によるものです。

于 2013-02-07T08:55:07.970 に答える