blob: 7134830b7d22fc4390b50b516da750011249b41c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
from django.http import Http404, HttpResponse
from django.template import TemplateDoesNotExist
from django.template.loader import get_template
from django.utils.translation import ugettext_lazy as _
from .models import ShowCase
def display_item(request, slug, number):
q = ShowCase.objects.filter(slug=slug)
if not q.count():
return Http404(_("Unknown source."))
showcase = q.all()[0]
source = showcase.external_source
template_name = "showcase/item-{}.html".format(source.source_type.slug)
try:
template = get_template(template_name)
except TemplateDoesNotExist:
raise Http404(
str(_("Template {} is not defined. Ask your administrator to "
"define a template for this source type.")).format(
template_name))
data = source.get_item(int(number))
if not data:
raise Http404(
str(_("Data unavailable"))
)
data["showcase"] = slug
return HttpResponse(template.render(data, request))
|