Удалить () просмотров и шаблон кода - PullRequest
1 голос
/ 02 марта 2010

Шаблон:

<form method="POST" action="/customer/delete/">
<div style="float: right; 
             margin: 0px; padding: 05px; ">
Name:<select  name="customer">
{% for customer in customer %}
<option value="{{ customer.name|escape }}" ></option><br />
{% endfor %}
</select>
<input type=submit value="delete">  
</div>
</form> 

Просмотров:

def delete(request, name):
       Customer.objects.get(name=name).delete()
       return HttpResponse('deleted')

Urls.py

(r'^customer/delete/', 'quote.excel.views.delete'),

Это не работает, пожалуйста, исправьте код.

Ответы [ 2 ]

1 голос
/ 02 марта 2010

Ваш URLConf не перехватывает данные для передачи в переменную name. Вам нужно либо перехватить его как часть URL-адреса, либо оставить его для перехвата в аргументе POST.

Как часть URL:

(r'^customer/(?P<name>[a-z]*)/delete/', 'quote.excel.views.delete')

def delete(request, name):
    if request.method == "POST": 
        # GET requests should NEVER delete anything, 
        # or the google bot will wreck your data.
        Customer.objects.get(name=name).delete()

В качестве почтовой переменной:

(r'^customer/delete/', 'quote.excel.views.delete')

def delete(request):  # No arguments passed in
    if request.method == "POST":
        name = request.POST['name']
        Customer.objects.get(name=name).delete()
0 голосов
/ 02 марта 2010
Customer.objects.get(name = request.POST['name']).delete()

Кстати, вы уверены, что переменная action в шаблоне действительно 'delete'? Если это не так, вызываемый URL (и, следовательно, метод) будет другим.

<form method="POST" action="/customer/{{ action }}/">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...