www-2324

Opis

To zadanie jest drugim (ale nie ostatnim) z serii związanej z tworzeniem serwisów internetowych w Django. Tego zadania nie trzeba jeszcze oddawać, kolejne zadanie będzie wymagało oddania.

Zadanie

W tym zadaniu należy przygotować przeglądarkę do obrazków (tzw. strona główna). Należy do tego użyć Django oraz Bootstrapa albo TailwindCSS (można użyć obu).

Zmiany w modelu

  1. Model obrazka powinien zawierać dodatkowe pole opis (tekstowy, nieobowiązkowy).
  2. Model obrazka powinien zawierać dodatkowe pole data_publikacji (data i czas publikacji obrazka, obowiązkowy).
  3. Model obrazka powinien zawierać listę tagów (pole tags), które są przypisane do obrazka. Tagi mogą być zewnętrznym modelem, albo polem w modelu odbrazka.

Dla tych zmian należy przygotować migrację.

Strona główna

Na stronie głównej powinny się pojawiać:

  1. Lista (paginowana, czyli np. 10 na stronę) wszystkich obrazków. Każdy obrazek powinien być wyświetlany jako miniaturka (np. 100x100 pikseli). Po kliknięciu na miniaturkę użytkownik powinien być przekierowany na stronę z pełnym obrazkiem.
  2. Możliwość filtrowania obrazków po tagach.
  3. Możliwość sortowania obrazków po dacie publikacji (rosnąco i malejąco).

Paginację można zrobić korzystając z Paginator’a https://docs.djangoproject.com/en/5.0/topics/pagination/

Polecenie administracyjne

Należy przygotować polecenie administratora, które dodaje do bazy danych przykładowe (losowe) obrazki.

https://docs.djangoproject.com/en/5.0/howto/custom-management-commands/