Andrew,
I'm not sure, but since no one else has answered yet...
Maybe you can't pass an object as a keyword argument to include,
can only pass strings? I've done it often with strings, but never
with an object. Try:
{% include "sidebar.html" title=object.title %}
and in the included file, use simply:
{{title}}
It seems odd that there'd be a restriction like this since I'm sure
you can pass objects to templates from views, but it's worth
trying. May be a good workaround, or may get you a different
error message that tips you off to what the real problem is.
--Fred
------------------------------------------------------------------------
Fred Stluka -- mailto:f...@bristle.com -- http://bristle.com/~fred/
Bristle Software, Inc -- http://bristle.com -- Glad to be of service!
Open Source: Without walls and fences, we need no Windows or Gates.
------------------------------------------------------------------------
On 12/16/14 2:27 PM, Andrew Nguyen wrote:
I'm having some problems getting some of my content to appear on my
detailed page view, which I have in two separate html files that are
being pulled in using |{% include %}|. Inside my two files,
|slider.html|and |sidebar.html|, I'm using tags like
|{{article.title}}| to grab specific information I need about an article.
*TRIED: *
- Changing syntax in the two included files to |{{object.title}}| did
not work.
- I've tried doing|{% include "sidebar.html" article=object %}|in
my|detailed.html|and it did not work. Instead, I would get an
error|TemplateSyntaxError at /gone-home Unknown argument for
u'include' tag: u'article=object'.|
- Also tried doing `{% include "sidebar.html" with article=object %}
did not work either.
*detailed.html*
|<!-- This grabs the sidebar snippet-->
{% include"sidebar.html" %}
<divclass="mainContent clearfix">
<h1>{{object.title}}</h1>
<pclass="date">{{object.pubDate|date:"l, F j, Y" }}</p> |
<pclass="author">{{object.author}}</p>
<img src="{{object.heroImage}}" alt="" class="largeImage">
<divclass="contentBlock">
<img src="{{object.relatedImage}}" alt="" class="relatedImage">
<pclass="content">{{object.body|linebreaks}}</p>
</div><!-- /.contentBlock-->
<!-- This grabs the slider snippet-->
{% include"slider.html" %}
</div><!-- /.mainContent-->|
*slider.html*
|<divclass="slider">
<divclass="group visible">
<divclass="sliderItem">
<a href="{%url"detailed" slug=article.slug %}"><img src="{{article.relatedImage}}"
alt="" class="sliderPicture"></a>
<a href="{%url"detailed" slug=article.slug
%}"><pclass="related">{{article.title}}</p></a>
</div><!-- /.sliderItem-->
</div><!-- /.group-->
</div><!-- /.slider-->|
*sidebar.html*
|<divclass="navContent">
{% for articlein object_list|slice:":5" %}
<divclass="navItem">
<divclass="overlay">
</div><!-- /.overlay-->
<a href="{%url"detailed" slug=article.slug %}"><img src="{{article.relatedImage}}"
alt="" class="navPicture"></a>
<a href="{%url"detailed" slug=article.slug
%}"><pclass="navTitle">{{article.title|truncatewords:"4"}}</p></a>
</div><!-- /.navItem-->
{% endfor%}
</div><!-- /.navContent-->|
*models.py*
|from django.dbimport models
from django.core.urlresolversimport reverse
# Create your models here.
class FullArticleQuerySet(models.QuerySet):
def published(self):
return self.filter(publish=True)
class FullArticle(models.Model):
title= models.CharField(max_length=150)
author= models.CharField(max_length=150)
slug= models.SlugField(max_length=200, unique=True)
pubDate= models.DateTimeField(auto_now_add=True)
updated= models.DateTimeField(auto_now=True)
category= models.CharField(max_length=150)
# gameRank = models.PositiveSmallIntegerField(default=0)
heroImage= models.CharField(max_length=250, blank=True)
relatedImage= models.CharField(max_length=250, blank=True)
body= models.TextField()
publish= models.BooleanField(default=True)
objects= FullArticleQuerySet.as_manager()
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("FullArticle_detailed", kwargs={"slug": self.slug})
def random(self):
return
self.get_queryset().order_by('?').values('title','author','heroImage','body').first()
class Meta:
verbose_name= "Blog entry"
verbose_name_plural= "Blog Entries"
ordering= ["-pubDate"]|
*views.py*
|from django.viewsimport generic
from . import models
# Create your views here.
class BlogIndex(generic.ListView):
queryset= models.FullArticle.objects.published()
template_name= "list.html"
# paginate_by = 2
class BlogDetail(generic.DetailView):
model= models.FullArticle
template_name= "detailed.html"|
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to django-users+unsubscr...@googlegroups.com
<mailto:django-users+unsubscr...@googlegroups.com>.
To post to this group, send email to django-users@googlegroups.com
<mailto:django-users@googlegroups.com>.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/343cde15-36ab-4432-836b-5947922e48b2%40googlegroups.com
<https://groups.google.com/d/msgid/django-users/343cde15-36ab-4432-836b-5947922e48b2%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/5491016F.7070903%40bristle.com.
For more options, visit https://groups.google.com/d/optout.