from django.conf.urls.defaults import url, patterns
from django.http import Http404, HttpResponse
from datetime import datetime
from django.conf.urls.defaults import url, patterns
from django.http import Http404, HttpResponse
from datetime import datetime
class Blog(Entity, Titled):
@property
def entry_tags(self):
""" Returns a QuerySet of Tags that are used on any entries in this blog. """
class Blog(Entity, Titled):
@property
def entry_tags(self):
""" Returns a QuerySet of Tags that are used on any entries in this blog. """
author = models.ForeignKey(getattr(settings, 'PHILO_PERSON_MODULE', 'auth.User'), related_name='blogentries')
date = models.DateTimeField(default=datetime.now)
content = models.TextField()
author = models.ForeignKey(getattr(settings, 'PHILO_PERSON_MODULE', 'auth.User'), related_name='blogentries')
date = models.DateTimeField(default=datetime.now)
content = models.TextField()
- excerpt = models.TextField()
- tags = models.ManyToManyField(Tag, related_name='blogentries')
+ excerpt = models.TextField(blank=True, null=True)
+ tags = models.ManyToManyField(Tag, related_name='blogentries', blank=True, null=True)
entry_archive_page = models.ForeignKey(Page, related_name='blog_entry_archive_related', null=True, blank=True)
tag_page = models.ForeignKey(Page, related_name='blog_tag_related')
tag_archive_page = models.ForeignKey(Page, related_name='blog_tag_archive_related', null=True, blank=True)
entry_archive_page = models.ForeignKey(Page, related_name='blog_entry_archive_related', null=True, blank=True)
tag_page = models.ForeignKey(Page, related_name='blog_tag_related')
tag_archive_page = models.ForeignKey(Page, related_name='blog_tag_archive_related', null=True, blank=True)
entry_permalink_style = models.CharField(max_length=1, choices=ENTRY_PERMALINK_STYLE_CHOICES)
entry_permalink_base = models.CharField(max_length=255, blank=False, default='entries')
tag_permalink_base = models.CharField(max_length=255, blank=False, default='tags')
entry_permalink_style = models.CharField(max_length=1, choices=ENTRY_PERMALINK_STYLE_CHOICES)
entry_permalink_base = models.CharField(max_length=255, blank=False, default='entries')
tag_permalink_base = models.CharField(max_length=255, blank=False, default='tags')
return base_patterns + entry_patterns
def index_view(self, request, node=None, extra_context=None):
return base_patterns + entry_patterns
def index_view(self, request, node=None, extra_context=None):
+ entries = self.blog.entries.all()
+ if self.entries_per_page:
+ paginated_page = paginate(request, entries, self.entries_per_page)
+ entries = paginated_page.object_list
+ else:
+ paginated_page = None
return self.index_page.render_to_response(node, request, extra_context=context)
def entry_view(self, request, slug, year=None, month=None, day=None, node=None, extra_context=None):
return self.index_page.render_to_response(node, request, extra_context=context)
def entry_view(self, request, slug, year=None, month=None, day=None, node=None, extra_context=None):
- context.update({'blog': self.blog, 'year': year, 'month': month, 'day': day, 'entries': entries})
+ context.update({'blog': self.blog, 'year': year, 'month': month, 'day': day, 'entries': entries, 'paginated_page': paginated_page})
return self.entry_archive_page.render_to_response(node, request, extra_context=context)
def tag_view(self, request, tag, node=None, extra_context=None):
try:
return self.entry_archive_page.render_to_response(node, request, extra_context=context)
def tag_view(self, request, tag, node=None, extra_context=None):
try:
- context.update({'blog': self.blog, 'tag': tag, 'entries': entries})
+ context.update({'blog': self.blog, 'tag': tag, 'entries': entries, 'paginated_page': paginated_page})
return self.tag_page.render_to_response(node, request, extra_context=context)
def tag_archive_view(self, request, node=None, extra_context=None):
return self.tag_page.render_to_response(node, request, extra_context=context)
def tag_archive_view(self, request, node=None, extra_context=None):
date = models.DateTimeField(default=datetime.now)
lede = models.TextField(null=True, blank=True)
full_text = models.TextField()
date = models.DateTimeField(default=datetime.now)
lede = models.TextField(null=True, blank=True)
full_text = models.TextField()
newsletter = models.ForeignKey(Newsletter, related_name='issues')
number = models.PositiveIntegerField()
articles = models.ManyToManyField(NewsletterArticle)
newsletter = models.ForeignKey(Newsletter, related_name='issues')
number = models.PositiveIntegerField()
articles = models.ManyToManyField(NewsletterArticle)