Add Album_list & Album_detail
This commit is contained in:
parent
1a65aec740
commit
bcf2c3612b
6 changed files with 75 additions and 5 deletions
|
@ -1,6 +1,7 @@
|
|||
from datetime import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils.text import slugify
|
||||
|
||||
# Create your models here.
|
||||
|
@ -43,8 +44,12 @@ class Album(models.Model):
|
|||
self.slug = slugify(self.name)
|
||||
super(Album, self).save(*args, **kwargs)
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse('gallery:album_url', kwargs={'album_slug': self.slug})
|
||||
|
||||
class Meta:
|
||||
verbose_name_plural = "Albums"
|
||||
|
||||
def __str__(self):
|
||||
return '{}'.format(self.name)
|
||||
|
||||
|
|
17
gallery/templates/gallery/album_detail.html
Normal file
17
gallery/templates/gallery/album_detail.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
<!-- Title -->
|
||||
{% block title %} Gallery : Albums : {{ album.name }} {% endblock %}
|
||||
|
||||
<!-- Breadcrumb -->
|
||||
{% block breadcrumb %}
|
||||
<li><a href="{% url 'gallery:albums_url' %}">Albums</a></li>
|
||||
<li>{{ album.name }}</li>
|
||||
{% endblock %}
|
||||
|
||||
<!-- Content -->
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ album.name }}</h1>
|
||||
|
||||
{% endblock %}
|
22
gallery/templates/gallery/album_list.html
Normal file
22
gallery/templates/gallery/album_list.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
<!-- Title -->
|
||||
{% block title %} Gallery : Albums {% endblock %}
|
||||
|
||||
<!-- Breadcrumb -->
|
||||
{% block breadcrumb %}
|
||||
<li>Albums</li>
|
||||
{% endblock %}
|
||||
|
||||
<!-- Content -->
|
||||
{% block content %}
|
||||
<ul>
|
||||
{% for album in album_list %}
|
||||
|
||||
<li>
|
||||
<a href="{{ album.get_absolute_url }}"> {{ album.name }} </a> - {{ album.album_date|date:"d.m.Y" }}
|
||||
</li>
|
||||
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
|
@ -5,6 +5,14 @@ from . import views
|
|||
app_name = 'gallery'
|
||||
|
||||
urlpatterns = [
|
||||
|
||||
# Main page
|
||||
path('', views.Main.as_view(), name='main_url'),
|
||||
|
||||
# Albumin yksityiskohdat:
|
||||
path('albums/<path:album_slug>/', views.AlbumDetail.as_view(), name="album_url"),
|
||||
|
||||
# Albumien lista:
|
||||
path('albums/', views.AlbumsList.as_view(), name='albums_url'),
|
||||
|
||||
]
|
||||
|
|
|
@ -1,8 +1,26 @@
|
|||
from django.shortcuts import render
|
||||
from django.views.generic import TemplateView
|
||||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
from django.views.generic import DetailView, ListView, TemplateView
|
||||
|
||||
from .models import Album
|
||||
|
||||
# Create your views here.
|
||||
|
||||
|
||||
|
||||
class Main(TemplateView):
|
||||
template_name = "gallery/main.html"
|
||||
template_name = "gallery/main.html"
|
||||
|
||||
|
||||
class AlbumsList(ListView):
|
||||
model = Album
|
||||
template_name = 'gallery/album_list.html'
|
||||
queryset = Album.objects.filter(is_public=True)
|
||||
ordering = ['-album_date']
|
||||
|
||||
|
||||
class AlbumDetail(DetailView):
|
||||
model = Album
|
||||
template_name = 'gallery/album_detail.html'
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
return get_object_or_404(Album, slug=self.kwargs.get('album_slug'))
|
Loading…
Add table
Add a link
Reference in a new issue