diff options
| author | user@node5.net <user@node5.net> | 2025-12-07 14:25:09 +0100 |
|---|---|---|
| committer | user@node5.net <user@node5.net> | 2025-12-07 14:25:09 +0100 |
| commit | b00da901a46b0710ad8bd29522e33bed2c4a1c77 (patch) | |
| tree | 364541e3d9c300d26271ab0aabfe8056663e595a /web_interface/drinks | |
| parent | e0ffa5be9133ab27f1e077ec884946bd5d347554 (diff) | |
You can create drinks and they will be displayed
Diffstat (limited to 'web_interface/drinks')
| -rw-r--r-- | web_interface/drinks/models.py | 12 | ||||
| -rw-r--r-- | web_interface/drinks/templates/base.html | 23 | ||||
| -rw-r--r-- | web_interface/drinks/templates/drinks_overview.html | 41 | ||||
| -rw-r--r-- | web_interface/drinks/views.py | 11 |
4 files changed, 82 insertions, 5 deletions
diff --git a/web_interface/drinks/models.py b/web_interface/drinks/models.py index bb4b48a..8f3fcf6 100644 --- a/web_interface/drinks/models.py +++ b/web_interface/drinks/models.py @@ -146,6 +146,16 @@ class Ingredient(models.Model): on_delete=models.CASCADE, ) + @property + def name(self) -> str: + """ + e.g: 3cl. Jägermeister + """ + return f"{self.amount}{self.unit} {self.bottle}" + def __str__(self) -> str: - return f"{self.drink} {self.amount}{self.unit} {self.bottle}" + """ + Name with drink context, for admin overview. E.g: Kung Fu 3cl. Jägermeister + """ + return f"{self.drink} {self.name}" diff --git a/web_interface/drinks/templates/base.html b/web_interface/drinks/templates/base.html new file mode 100644 index 0000000..8a60bab --- /dev/null +++ b/web_interface/drinks/templates/base.html @@ -0,0 +1,23 @@ +{% load static %} + +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="ie=edge"> + <title>Drinks machine</title> + <link rel="stylesheet" href="{% static 'style/main.css' %}"> + <link rel="stylesheet" href="{% static 'beer_css/beer.min.css' %}"> + <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🍸</text></svg>"> + {% block head %} + {% endblock %} + </head> + <body> + <main class="responsive"> + {% block content %} + {% endblock %} + </main> + </body> +</html> + diff --git a/web_interface/drinks/templates/drinks_overview.html b/web_interface/drinks/templates/drinks_overview.html new file mode 100644 index 0000000..0de4504 --- /dev/null +++ b/web_interface/drinks/templates/drinks_overview.html @@ -0,0 +1,41 @@ +{% extends 'base.html' %} + +{% block content %} + + <div class="grid"> + + {% for drink in drinks %} + + <div id="drinks" class="s12 l6"> + + <article class="no-padding"> + <div class="grid no-space"> + <div class="s6"> + <img class="responsive" src="{{ drink.picture.url }}"> + </div> + <div class="s6"> + <div class="padding"> + <h4>{{ drink.name }}</h4> + <p>{{ drink.description }}</p> + + <h5>Ingredients</h5> + <ul> + {% for ingredient in drink.ingredient_set.all %} + <li>{{ ingredient.name }}</li> + {% endfor %} + </ul> + <nav> + <button class="border round">Create drink</button> + </nav> + </div> + </div> + </div> + </article> + + </div> + + {% endfor %} + + </div> + +{% endblock %} diff --git a/web_interface/drinks/views.py b/web_interface/drinks/views.py index 8c5ef2b..be87d8f 100644 --- a/web_interface/drinks/views.py +++ b/web_interface/drinks/views.py @@ -1,7 +1,10 @@ from django.shortcuts import render -from django.http import HttpResponse +from django.http import HttpRequest, HttpResponse -# Create your views here. +from .models import Drink + + +def index(request: HttpRequest) -> HttpResponse: + drinks = Drink.objects.all() + return render(request=request, template_name="drinks_overview.html", context={'drinks': drinks}) -def index(request): - return HttpResponse("🍺🍸🍻") |
