--- a/qrurls/models.py Mon Jul 15 01:51:59 2013 +0300
+++ b/qrurls/models.py Mon Jul 15 02:34:23 2013 +0300
@@ -1,5 +1,9 @@
from django.db import models
from django.core.urlresolvers import reverse
+import django.utils.http
+from django.contrib.sites.models import get_current_site
+
+QRCODE_API = 'https://chart.googleapis.com/chart?cht=qr&chs={width}x{height}&chl={url}'
class URL(models.Model):
shorturl = models.SlugField(unique=True)
@@ -8,6 +12,18 @@
verbose_name = u"URL"
verbose_name_plural = u"URLs"
+ def qrcode_img (self, size=512) :
+ return QRCODE_API.format(
+ width=size, height=size,
+ url=django.utils.http.urlquote(self.qrcode_url()),
+ )
+
+ def qrcode_url (self) :
+ return 'http://{domain}{url}'.format(
+ domain = get_current_site(None).domain,
+ url = self.get_absolute_url(),
+ )
+
def get_absolute_url (self) :
return reverse('shorturl', args=[self.shorturl])