1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- from django_inlines.inlines import TemplateInline
- from darkroom.models import Photo
- class PhotoInline(TemplateInline):
- """
- An inline that takes a darkroom photo id, slug, or just a url returns a photo template with proper width and height.
- Examples::
- {{ photo 34 }}
- The inluded template supports width and height arguments::
- {{ photo 32 size=small }}
- """
- help_text = (
- "Takes a darkroom photo id or slug and returns a template for the photo."
- )
- inline_args = [dict(name="size", help_text="Small/Medium/Large/Full")]
- def get_context(self):
- try:
- photo = Photo.objects.get(pk=self.value)
- except:
- photo = Photo.objects.get(slug=self.value)
- return {"photo": photo}
- class GraphicInline(TemplateInline):
- """
- An inline that takes a darkroom graphic id, slug, or just a url returns a template with size and position classes set.
- Examples::
- {{ graphic 34 }}
- The inluded template supports width and height arguments::
- {{ graphic 32 size=small float=right }}
- """
- help_text = (
- "Takes a darkroom graphic id or slug and returns a template for the graphic."
- )
- inline_args = [dict(name="size", help_text="Small/Medium/Large/Full")]
- def get_context(self):
- try:
- photo = Graphic.objects.get(pk=self.value)
- except:
- photo = Graphic.objects.get(slug=self.value)
- return {"graphic": graphic}
|