Aplikacja webowa stworzona w Django 4.2.5 i pythonie 3.11.1
- 🏃 Cel aplikacji
- 📜 Funkcjonalność
- 💻 Uruchomienie aplikacji lokalnie
- 🔧 Konfiguracja
- 📡 Wdrożenie na serwer pythonanywhere
- 🌐 Działanie aplikacji na serwerze
Aplikacja została stworzona na potrzeby wydarzenia dwudniowego biegu, zaczynającego się wieczorem i kończącego ranem następnego dnia.
Aplikacja umożliwia prezentacje wyników biegaczy w formie wykresu i tabeli.
Zarządzanie danymi biegów aplikacji odbywa się w dostosowanym panelu administracyjnym lub domyślnym panelu administracyjnym.
- Wykres z wynikami biegaczy
- Tabela z wynikami biegaczy
- Tabela z wynikami pojedyńczego biegacza
- Dostosowany panel administracyjny
- Strandardowy panel administracyjny Django
Tworzymy wirtualne środowisko
python -m venv venvAktywujemy wirtualne środowisko
.\venv\Scripts\activateInstalujemy wszystkie potrzebne biblioteki z pliku requirements.txt
pip install -r .\requirements.txtUruchomienie projektu Django
python manage.py runserver 'nrPortu opcjonalnie'Important
runProject\settings.py datetime(2024, 11, 2, 21, 30)
Kod FIRST_DAY zawierający datę biegu datetime(2024, 11, 2, 21, 30)
from pathlib import Path
from datetime import datetime, timedelta
FIRST_DAY = datetime(2024, 11, 2, 21, 30)
SECOND_DAY = FIRST_DAY + timedelta(days=1)
Important
np. 'nocnybieg2023.pythonanywhere.com', 'ultradoba2024.pythonanywhere.com', 'ultradoba2025.pythonanywhere.com'.
Tworzenie migracji po zmianie modelów
python manage.py makemigrations appName --name changeNameZatwierdzenie migracji
python manage.py migrate Tworzenie super użytkownika
python manage.py createsuperuserWłączenie shell-a w konsoli (pozwala na komunikacje z bazą danych przez ORM)
python manage.py shellKlonujemy repozytorium:
git clone https://github.com/rzymski/runnersChart.gitTworzymy wirtaulne środowisko:
mkvirtualenv --python=/usr/bin/python3.10 venvPobieramy wszystkie potrzebne pakiety z requirements.txt:
pip install -r ./runnersChart/requirements.txtSource code: /home/nazwaUzytkownika/runnersChart (nazwa głównego folderu projektu i nazwa repozytorium na github-ie)
Working directory: /home/nazwaUzytkownika
Virtualenv: /home/nazwaUzytkownika/.virtualenvs/venv
Static files:
URL: /static/
DIRECTORY: /home/nazwaUzytkownika/runnersChart/static
WSGI configuration file:
import os
import sys
path = os.path.expanduser('~/runnersChart')
if path not in sys.path:
sys.path.insert(0, path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'runProject.settings'
from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
Po skonfigurowaniu warto również dla pewności jeszcze raz upewnić się, że pliki statyczne są załadowane.
Polecenie do przeładowania plików statycznych:
python manage.py collectstaticW przypadku wyłączenia się konsoli i zamknięcia wirtualnego środowiska, żeby włączyć z powrotem wirtualne środowisko w /home/ultradoba2024/.virtualenvs:
workon venvMoże wystąpić potrzeba zmigrowania, dla poprawnego działania aplikacji:
python manage.py migrateMożna sprawdzić działanie aplikacji w:
Wykres:
Tabela z wynikami biegaczy:
Tabela wyników pojedyńczego biegacza:
Spersonalizowany panel administracyjny:
Domyślny panel administracyjny:







