0

Когда я нажимаю ссылку на проект проекта delete, она выводит меня на мою страницу удаления с помощью кнопки для клика, которая должна удалять данные модели проекта, а затем отвезти меня в профиль стр. Однако, когда я нажимаю кнопку «Удалить», страница просто обновляется и данные не удаляются! Что я здесь делаю неправильно? Любая помощь будет высоко ценится :-)DeleteView не удаляет и просто обновляет страницу удаления

Просмотры

class DeleteProject(UpdateView): 
    model = UserProject 
    template_name = 'howdidu/delete_project.html' 

    def get_object(self, queryset=None): 
     obj = super(DeleteProject, self).get_object() 
     if not obj.user == self.request.user: 
      raise Http404 
     return obj 

    def get_success_url(self): 
     project_username = self.request.user.username 
     #project_slug = self.object.slug 
     return reverse('user_profile', kwargs={'username':project_username}) 

шаблон delete_project.html

{% extends 'howdidu/base.html' %} 

{% load staticfiles %} 

{% block title %}Delete project{% endblock %} 

{% block body_block %} 

     <h1>Delete project</h1> 

     <form method="post">{% csrf_token %} 
     <p>Are you sure you want to delete "{{ userproject.title }}"?</p> 
     <input type="submit" value="Confirm" /> 
     </form> 

{% endblock %} 

Urls

urlpatterns = patterns('', 
     url(r'^$', views.index, name='index'), 
     url(r'^register_profile/$', views.register_profile, name='register_profile'), 
     url(r'^update_profile/$', views.update_profile, name='update_profile'), 
     url(r'^create_project/$', login_required(views.CreateProject.as_view()), name='create_project'), 
     url(r'^(?P<username>\w+)/(?P<slug>[-\w]+)/update_project/$', login_required(views.UpdateProject.as_view()), name='update_project'), 
     url(r'^(?P<username>\w+)/(?P<slug>[-\w]+)/delete_project/$', login_required(views.DeleteProject.as_view()), name='delete_project'), 
     url(r'^(?P<username>\w+)/$', views.profile_page, name='user_profile'), 
     url(r'^(?P<username>\w+)/(?P<slug>[-\w]+)/$', views.project_page, name='user_project'), 

     ) 

шаблон Project.html, который имеет ссылку удалить на

{% extends 'howdidu/base.html' %} 

{% load staticfiles %} 

{% block title %}Project{% endblock %} 

{% block body_block %} 

     {% if project %} 

     <h1>{{ project.title }}</h1> 
     <img src="{{ project.project_picture.url }}" width = "300" height = "300" /> 
     <h3>{{ project.project_overview }}</h3> 
     {% if user.is_authenticated %} 
     {% if project_user.username == user.username %} 
     <p><a href="{% url 'update_project' project_user.username project.slug %}">Edit project</a></p> 
     <p><a href="{% url 'delete_project' project_user.username project.slug %}">Delete project</a></p> 
     {% endif %} 
     {% endif %} 


     {% else %} 
      The specified project {{ project.title }} does not exist! 
     {% endif %} 

{% endblock %} 

ответ

0

Необходимо использовать DeleteView not UpdateView. See here.

+0

omg какая глупая ошибка, я скопировал и вставил, чтобы сэкономить время, когда я начал, и забыл изменить его: -S. СПАСИБО! – ollysmall

+0

Добро пожаловать. – Aram

Смежные вопросы