1

I trying to create categories with MPTT and I get this error:

VariableDoesNotExist at /blog/blog_posts/Failed lookup for key [categories] in enter code here[{'True': True, 'False': False, 'None': None}, {}, {},

I know that I have to pass the queryset from views.py to my template and it still does not work.

views.py

class BlogCategoriesList(generic.ListView):
    model = Category 
    template_name = 'blog/blog_categories_list.html'

    def get_queryset(self):
        content = {
            'categories': Category.objects.all()
        }

        return content

models.py

class Category(MPTTModel):

    name = models.CharField(max_length=100, null=True,default=None)
    parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')

    class MPTTMeta:
        order_insertion_by = ['name']
        verbose_name_plural = 'Categories'

    def get_absolute_url(self):
        return reverse('blog:category_details_view', args=[str(self.slug)])

    def __str__(self):
        return self.name

class Post(models.Model):

    class NewManager(models.Manager):
        def get_queryset(self):
            return super().get_queryset().filter(status='published')

    options = (('draft','Draft'),('published','Published'),)
    title = models.CharField(max_length=300,null=True)
    category = TreeForeignKey(Category, on_delete=models.PROTECT, null=True, blank=True, default=None)
    excerpt = RichTextField(blank=True,max_length=30000,null=True)
    slug = models.SlugField(max_length=300, unique_for_date='published',null=True)
    featured_image = models.ImageField(upload_to='media/blog_featured_images', null=True)
    published = models.DateTimeField(default=timezone.now)
    author  = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blog_posts',null=True)
    content  = RichTextField(blank=True,null=True)
    status =  models.CharField(max_length=10, choices=options, default='draft',null=True)

    objects = models.Manager()
    newmanager = NewManager()

    def get_absolute_url(self):
        return reverse('blog:single_post', args=[self.slug])

    class Meta:
        ordering = ('-published',)
        verbose_name_plural = 'Posts'
        unique_together = ('title','slug')

    def __str__(self):
        return self.title

blog_category_list.html

{% block content %}
    {% load mptt_tags %}
    <ul>
        {% recursetree categories %}
            <li>
                {{ node.name }}
                {% if not node.is_leaf_node %}
                    <ul class="children">
                        {{ children }}
                    </ul>
                {% endif %}
            </li>
        {% endrecursetree %}
    </ul>
{% endblock %}

Can any one help me stop what is amiss in my code? MPTT is set up in my settings.py and all.

Christian
  • 4,902
  • 4
  • 24
  • 42
fnuff
  • 69
  • 2
  • 9
  • https://stackoverflow.com/questions/57454907/crispy-forms-throws-variabledoesnotexist-error-failed-lookup-for-key-html5-requ – Christian Aug 28 '22 at 00:45

0 Answers0