56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
from annoying.decorators import render_to
|
|
from django.http import HttpRequest, HttpResponse
|
|
from django.views.generic import TemplateView
|
|
from pytz import UTC
|
|
|
|
|
|
def view_untemplated(request: HttpRequest) -> HttpResponse:
|
|
"""Return a base view for demonstration purposes."""
|
|
return HttpResponse("Page content returned")
|
|
|
|
|
|
@render_to("demonstration/basic/plain.txt")
|
|
def view_basic_plain(request: HttpRequest) -> dict:
|
|
"""Show a plain text rendered as a template."""
|
|
return {}
|
|
|
|
|
|
@render_to("demonstration/basic/variables.html")
|
|
def view_basic_variables(request: HttpRequest) -> dict:
|
|
"""Show a template using variable interpolation."""
|
|
return {"variable1": "Text number 1.", "variable2": 599.31}
|
|
|
|
|
|
@render_to("demonstration/basic/control.html")
|
|
def view_basic_control(request: HttpRequest) -> dict:
|
|
"""Use control structures."""
|
|
return {"values": [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]}
|
|
|
|
|
|
@render_to("demonstration/basic/filters.html")
|
|
def view_basic_filters(request: HttpRequest) -> dict:
|
|
"""Use template filters."""
|
|
from datetime import datetime
|
|
|
|
return {"strings": ["text in lowercase", "basic text."], "moment": datetime(2020, 1, 1, tzinfo=UTC)}
|
|
|
|
|
|
@render_to("demonstration/basic/tags.html")
|
|
def view_basic_tags(request: HttpRequest) -> dict:
|
|
"""Use template tags."""
|
|
return {"numbers": [1, 2, 3, 4, 5, 6, 7, 8]}
|
|
|
|
|
|
class BasicTemplateView(TemplateView):
|
|
"""
|
|
Equivalent of the `view_basic_control` view.
|
|
|
|
See Also:
|
|
Documentation to know how to use class-based views:
|
|
- https://docs.djangoproject.com/fr/3.2/topics/class-based-views/
|
|
|
|
"""
|
|
|
|
template_name = "demonstration/basic/control.html"
|
|
extra_context = {"values": [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]}
|