Skip to content

Instantly share code, notes, and snippets.

@andybak
Created May 14, 2014 14:34
Show Gist options
  • Select an option

  • Save andybak/d9bd6e033807a916fd0e to your computer and use it in GitHub Desktop.

Select an option

Save andybak/d9bd6e033807a916fd0e to your computer and use it in GitHub Desktop.
from django.template.response import TemplateResponse
from portfolio.models import PortfolioItem
class GalleryPageType(cms.PageType):
unique = True
required = True
can_use_extra_url = True
uses_content = True
uses_extra_content = True
cachable = True
changeform_content = "<a href='/admin/portfolio/'>Portfolio</a> will appear here" # TODO don't be lazy hardcoding admin urls
def get_type_object():
return PortfolioItem
def get_related_instance(request, extra_url=None):
name = extra_url[0]
items = PortfolioItem.objects.filter(name=name, active=True)
return items[0] #TODO uniqueness?
def render(request, context):
page = context['page']
extra_url = page.extra_url
context.update({
'something': something
})
portfolio_item = get_related_instance(request, extra_url)
template = 'portfolio_item.html'
context.update({
'portfolio': portfolio_item,
'photos': portfolio_item.photos.filter(active=True),
})
return TemplateResponse(
request,
template,
context,
)
from django.template.response import TemplateResponse
from portfolio.models import PortfolioItem
unique = True
required = True
can_use_extra_url = True
uses_content = True
uses_extra_content = True
cachable = True
changeform_content = "<a href='/admin/portfolio/'>Portfolio</a> will appear here" # TODO don't be lazy hardcoding admin urls
def get_type_object():
return PortfolioItem
def get_related_instance(request, extra_url=None):
name = extra_url[0]
items = PortfolioItem.objects.filter(name=name, active=True)
return items[0] #TODO uniqueness?
def render(request, context):
page = context['page']
extra_url = page.extra_url
context.update({
'something': something
})
portfolio_item = get_related_instance(request, extra_url)
template = 'portfolio_item.html'
context.update({
'portfolio': portfolio_item,
'photos': portfolio_item.photos.filter(active=True),
})
return TemplateResponse(
request,
template,
context,
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment