Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Django Class-based Views Classy Views CRUDs

Natan Becker
Natan Becker
7,044 Points

article_confirm_delete.html Class based views

why is not working my code, i pretty sure this is the way to do it, I try removing the article. = pk from the url but doesnt work too.. can any body help me please?

articles/views.py
from django.views.generic import ListView, DetailView, CreateView, UpdateView, DeleteView
from django.core.urlresolvers import reverse_lazy
from . import models


class ArticleList(ListView):
    model = models.Article


class ArticleDetail(DetailView):
    model = models.Article

class ArticleCreate(CreateView):
    fields = ('title', 'body', 'author', 'published')
    model = models.Article

class ArticleUpdate(UpdateView):
    fields = ('title', 'body', 'author', 'published')
    model = models.Article

class ArticleDelete(DeleteView):
        model = models.Article
        success_url = reverse_lazy("articles:detail")
articles/templates/articles/article_form.html
{% block body_content %}
<form method='POST'>
  {% csrf_token %}
  {{ form.as_p }}
  <input type="submit" class="btn btn-primary" value="Save">
</form>
{% endblock %}
articles/templates/articles/article_confirm_delete.html
{% block body_content %}
<h1>Delete {{ article.title }}?</h1>

<form method='POST'>

    {% csrf_token %}
    <input type="submit" class="btn btn-danger" value="Delete"> <a href="{% url 'articles:detail' article.pk = pk%}">Cancel</a>
</form>
{% endblock %}
Cristian Romero
Cristian Romero
11,911 Points

<input type="submit" class="btn btn-danger" value="Delete"> <a href="{% url 'articles:detail' pk=article.pk %}">Cancel</a>

1 Answer

Tatiana Vasilevskaya
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Tatiana Vasilevskaya
Python Web Development Techdegree Graduate 28,600 Points

There are two things, which require attention. The first one is the success_url of the ArticleDelete class. Where would you want to be redirected after an article has been deleted?

The second issue is in the {% url %} tag. You are correct, you need to pass article's pk, however you have a mistake passing an argument. Here is the link to the documents, which could help.