Erster View und erstes Template angelegt, URL /speisekarte registriert.

This commit is contained in:
2026-05-15 01:18:38 +02:00
parent bb184ff952
commit 4533fd6402
20 changed files with 71 additions and 1 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,55 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mensa-Speisekarte</title>
<!-- Bootstrap CSS für schnelles Styling -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card shadow">
<div class'card-header bg-primary text-white text-center py-3'>
<h1><i class="bi bi-egg-fried"></i> Unsere Speisekarte</h1>
</div>
<div class="card-body">
<table class="table table-hover">
<thead class="table-dark">
<tr>
<th>Gericht</th>
<th>Kategorie</th>
<th>Status</th>
</tr>
</thead>
<tbody>
{% for gericht in alle_gerichte %}
<tr>
<td><strong>{{ gericht.name }}</strong></td>
<td><span class="badge bg-info text-dark">{{ gericht.kategorie.name }}</span></td>
<td>
{% if gericht.ist_dauerangebot %}
<span class="badge bg-success">Dauerangebot</span>
{% else %}
<span class="badge bg-secondary">Tagesangebot</span>
{% endif %}
</td>
</tr>
{% empty %}
<tr>
<td colspan="3" class="text-center text-muted">Keine Gerichte im System gefunden.</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

6
mensa_app/urls.py Normal file
View File

@@ -0,0 +1,6 @@
from django.urls import path
from .views import GerichtListView
urlpatterns = [
path('speisekarte/', GerichtListView.as_view(), name='gericht_list'),
]

View File

@@ -1,3 +1,11 @@
from django.shortcuts import render from django.shortcuts import render
# Create your views here. # Create your views here.
from django.views.generic import ListView
from .models import Gericht
class GerichtListView(ListView):
model = Gericht
template_name = 'mensa_app/gericht_liste.html' # Der Pfad zum Template
context_object_name = 'alle_gerichte' # Der Name, den wir im Template nutzen

View File

@@ -15,8 +15,9 @@ Including another URLconf
2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
""" """
from django.contrib import admin from django.contrib import admin
from django.urls import path from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('', include('mensa_app.urls')), # Schaltet die App-URLs frei
] ]