summaryrefslogtreecommitdiffstats
path: root/feincms/content/image
diff options
context:
space:
mode:
Diffstat (limited to 'feincms/content/image')
-rw-r--r--feincms/content/image/__init__.py0
-rw-r--r--feincms/content/image/models.py32
2 files changed, 32 insertions, 0 deletions
diff --git a/feincms/content/image/__init__.py b/feincms/content/image/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/feincms/content/image/__init__.py
diff --git a/feincms/content/image/models.py b/feincms/content/image/models.py
new file mode 100644
index 0000000..2f1d2c4
--- /dev/null
+++ b/feincms/content/image/models.py
@@ -0,0 +1,32 @@
+from django.db import models
+from django.template.loader import render_to_string
+from django.utils.translation import ugettext_lazy as _
+
+class ImageContent(models.Model):
+ """
+ Create an ImageContent like this:
+
+ Cls.create_content_type(ImageContent, POSITION_CHOICES=(
+ ('left', 'Left'),
+ ('right', Right'),
+ ))
+ """
+
+ image = models.ImageField(_('image'), upload_to='imagecontent')
+
+ class Meta:
+ abstract = True
+ verbose_name = _('image')
+ verbose_name_plural = _('images')
+
+ def render(self, **kwargs):
+ return render_to_string([
+ 'content/image/%s.html' % self.position,
+ 'content/image/default.html',
+ ], {'content': self})
+
+ @classmethod
+ def handle_kwargs(cls, POSITION_CHOICES=()):
+ models.CharField(_('position'), max_length=10, choices=POSITION_CHOICES
+ ).contribute_to_class(cls, 'position')
+