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 venv
Aktywujemy wirtualne środowisko
.\venv\Scripts\activate
Instalujemy wszystkie potrzebne biblioteki z pliku requirements.txt
pip install -r .\requirements.txt
Uruchomienie 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)
Tworzenie migracji po zmianie modelów
python manage.py makemigrations appName --name changeName
Zatwierdzenie migracji
python manage.py migrate
Tworzenie super użytkownika
python manage.py createsuperuser
Włączenie shell-a w konsoli (pozwala na komunikacje z bazą danych przez ORM)
python manage.py shell
Klonujemy repozytorium:
git clone https://github.com/rzymski/runnersChart.git
Tworzymy wirtaulne środowisko:
mkvirtualenv --python=/usr/bin/python3.10 venv
Pobieramy wszystkie potrzebne pakiety z requirements.txt:
pip install -r ./runnersChart/requirements.txt
Source 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 collectstatic
W przypadku wyłączenia się konsoli i zamknięcia wirtualnego środowiska, żeby włączyć z powrotem wirtualne środowisko w /home/ultradoba2024/.virtualenvs
:
workon venv
Można sprawdzić działanie aplikacji w:
Wykres:
Tabela z wynikami biegaczy:
Tabela wyników pojedyńczego biegacza:
Spersonalizowany panel administracyjny:
Domyślny panel administracyjny: