django - I have a TemplateDoesNotExist error. I can update my models but not delete them? -


i'm making first django site has 1 app far named clients , keep templates in project_name/clients/templates/clients.

like title says i'm able update instance of model client using updateview in views file , thought able delete instance in same way using deleteview error stated previously. appreciated. i've seen other similar posts nothing helped me solve problem

here's url file:

from django.conf.urls import url . import views app_name = 'clients'  url(r'^$', views.indexview.as_view(), name='index'),  # /clients/11/... number url(r'^(?p<pk>[0-9]+)/$', views.detailview.as_view(), name='detail'),  # /clients/viewed/ url(r'^viewed/', views.viewed, name='viewed'),  # /clients/add/ url(r'^add/$', views.clientcreate.as_view(), name='client-add'),  # /clients/3/update/ url(r'^(?p<pk>[0-9]+)/update$', views.clientupdate.as_view(), name='client-update'),  # /clients/8/delete/ url(r'^(?p<pk>[0-9]+)/delete/$', views.clientdelete.as_view(), name='client-delete'),  ] 

here's relevant classes in views.py:

from __future__ import unicode_literals django.views import generic django.views.generic.edit import createview, updateview, deleteview django.core.urlresolvers import reverse_lazy django.shortcuts import render .models import client   class clientupdate(updateview):     model = client     fields = ['name', 'age', 'height', 'weight',  'history_of_head_trauma', 'profession', 'is_athlete', 'email']     success_url = reverse_lazy('clients:index')   class clientdelete(deleteview):     model = client     success_url = reverse_lazy('clients:index') 

here's div in index.html holds both buttons updating , deleting:

 <div class="panel-footer">       <a type="button" class="btn btn-sm btn-success"><i class="glyphicon glyphicon-envelope"></i></a>           <span class="pull-right">                 <a href="{% url 'clients:client-update' pk=client.id %}" type="button" class="btn btn-small btn-info"><i class="glyphicon glyphicon-edit"></i></a>                  <a href="{% url 'clients:client-delete' pk=client.id %}" type="button" class="btn btn-small btn-danger"><i class="glyphicon glyphicon-remove"></i></a>              </span>  </div> 

by default, deleteview shows confirmation page requests, , deletes object post requests. need create template clients/client_confirm_delete.html (or set template_name on view) handle requests. there example template in docs:

<form action="" method="post">{% csrf_token %}     <p>are sure want delete "{{ object }}"?</p>     <input type="submit" value="confirm" /> </form> 

your other option add form index page, users submit post request delete page. note means object deleted without confirmation. if this, might idea add template requests, otherwise errors when users/bots navigate directly delete url.


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -