feat [api]: complete facebook response
This commit is contained in:
parent
b26c31c187
commit
5721930803
2 changed files with 16 additions and 4 deletions
|
@ -1,3 +1,4 @@
|
|||
from django.template import Template, Context
|
||||
from django.template.loader import render_to_string
|
||||
|
||||
from myapi.models import Film
|
||||
|
@ -6,16 +7,22 @@ prices = {"one_cof": 4, "one_exte": 5, "card_cof": 30, "card_exte": 35}
|
|||
|
||||
|
||||
def render_com(template_name, film: Film) -> str:
|
||||
return render_to_string(template_name, {"film": film, "prices": prices})
|
||||
return render_to_string(template_name, {"film": film, "prices": prices}).strip()
|
||||
|
||||
|
||||
def bocal(film: Film) -> str:
|
||||
return render_com("bocal.tex", film)
|
||||
|
||||
|
||||
def facebook(film: Film) -> str:
|
||||
def facebook_text(film: Film) -> str:
|
||||
return render_com("facebook.txt", film)
|
||||
|
||||
|
||||
def facebook_title(film: Film) -> str:
|
||||
template = Template("{{ film.title }} - {{ film.director }}")
|
||||
ctx = Context({"film": film, "prices": prices})
|
||||
return template.render(ctx)
|
||||
|
||||
|
||||
def mail(film: Film) -> str:
|
||||
return render_com("mail.html", film)
|
||||
|
|
|
@ -26,9 +26,14 @@ class FilmViewSet(viewsets.ModelViewSet):
|
|||
def bocal(self, request, pk=None):
|
||||
return self.general_com_view(com.bocal)
|
||||
|
||||
@action(detail=True, renderer_classes=[PlainTextRenderer], methods=["GET"])
|
||||
@action(detail=True, methods=["GET"])
|
||||
def facebook(self, request, pk=None):
|
||||
return self.general_com_view(com.facebook)
|
||||
film: Film = self.get_object()
|
||||
fb_text = com.facebook_text(film)
|
||||
fb_title = com.facebook_title(film)
|
||||
return Response(
|
||||
{"title": fb_title, "body": fb_text, "banner_link": film.banner_link}
|
||||
)
|
||||
|
||||
@action(detail=True, renderer_classes=[StaticHTMLRenderer], methods=["GET"])
|
||||
def newsletter(self, request, pk=None):
|
||||
|
|
Loading…
Reference in a new issue