Browse Source

carousel

master
Jméno Příjmení 3 years ago
parent
commit
38031bbdac
  1. 2
      bannery/models.py
  2. 36
      bannery/templates/bannery/banner.html
  3. 0
      bannery/templatetags/__init__.py
  4. 13
      bannery/templatetags/banner_tags.py
  5. 3
      databaze/settings.py
  6. 4
      databaze/urls.py
  7. 3
      novinky/templates/novinky/base.html
  8. 3
      novinky/templates/novinky/index.html

2
bannery/models.py

@ -3,7 +3,7 @@ from django.db import models
# Create your models here.
class Banner(models.Model):
popisek = models.CharField(max_length=100, verbose_name="Popisek")
obrazek = models.ImageField(upload_to='media/bannery', verbose_name="Obrázek")
obrazek = models.ImageField(upload_to='bannery', verbose_name="Obrázek")
aktivni = models.BooleanField(default=True, verbose_name="Aktivní")
def __str__(self) -> str:

36
bannery/templates/bannery/banner.html

@ -0,0 +1,36 @@
{% for banner in bannery %}
{{ banner.popisek }}
<img src="/media/{{ banner.obrazek }}" alt="">
{% endfor %}
<div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
{% for banner in bannery %}
<button
type="button"
data-bs-target="#carouselExampleCaptions"
data-bs-slide-to="{{ forloop.counter0 }}"
{% if forloop.first %}class="active"{% endif %}>
</button>
{% endfor %}
</div>
<div class="carousel-inner">
{% for banner in bannery %}
<div class="carousel-item {% if forloop.first %}active{% endif %}">
<img src="/media/{{ banner.obrazek }}" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>{{ banner.popisek }}</h5>
</div>
</div>
{% endfor %}
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>

0
bannery/templatetags/__init__.py

13
bannery/templatetags/banner_tags.py

@ -0,0 +1,13 @@
from django import template
from bannery.models import Banner
register = template.Library()
@register.inclusion_tag('bannery/banner.html')
def banner():
return {
"bannery": Banner.objects.filter(aktivni=True),
}

3
databaze/settings.py

@ -117,6 +117,9 @@ USE_TZ = True
STATIC_URL = '/static/'
MEDIA_URL = 'media/'
MEDIA_ROOT = BASE_DIR / MEDIA_URL
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field

4
databaze/urls.py

@ -16,9 +16,11 @@ Including another URLconf
from django.contrib import admin
from django.urls import path
from novinky.views import index, newitem
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('novinka/<int:new_id>/', newitem, name="newitem"),
path('', index, name="index"),
]
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

3
novinky/templates/novinky/base.html

@ -6,11 +6,14 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Novinky</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link rel="stylesheet" href="{% static 'novinky/css/novinky.css' %}">
</head>
<body>
{% block content %}
(nic tu není)
{% endblock %}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</body>
</html>

3
novinky/templates/novinky/index.html

@ -1,7 +1,10 @@
{% extends "novinky/base.html" %}
{% load banner_tags %}
{% block content %}
<h1>Novinky</h1>
{% banner %}
{% for novinka in novinky %}
{{ novinka.datum|date:"j. E Y G:i" }} <br>

Loading…
Cancel
Save