Django to potężny, otwartoźródłowy, oparty na języku Python framework webowy, który usprawnia proces tworzenia i zarządzania stronami oraz aplikacjami internetowymi. Aplikacje Django są skalowalne, wydajne i bezpieczne. Posiada on również bardzo dobrą dokumentację dotyczącą każdej części tego frameworka.
W naszej serii o Django, poznawaliśmy Django, wdrażając przykładową stronę internetową z podstawowymi funkcjami bloga. W tym poradniku omówimy kroki tworzenia przykładowego widoku dla naszej aplikacji Django.
Wymagania wstępne
Aby przejść przez ten poradnik, będziesz potrzebować następujących elementów.
- Serwer Ubuntu z odpowiednią konfiguracją. Dowiedz się więcej o konfiguracji serwera Ubuntu.
- Odpowiednio skonfigurowane środowisko programistyczne Python.
- Serwer bazy danych, na przykład MySQL. Ten poradnik szczegółowo opisuje instalację i konfigurację MySQL na serwerze Ubuntu.
Ten poradnik jest kontynuacją naszej serii o Django. Na początek warto zapoznać się z poprzednimi poradnikami dotyczącymi konfiguracji Django, , nawiązywania połączenia z bazą danych Django, , tworzenia modeli oraz włączania interfejsu administracyjnego Django.
W tym poradniku pokażemy, jak tworzyć widoki Django, które pozwolą aplikacji internetowej na prawidłową obsługę żądań sieciowych i zwracanie odpowiednich odpowiedzi. Jak opisano w oficjalnej dokumentacji Django, odpowiedź sieciowa może być zawartością HTML strony, przekierowaniem lub błędem HTTP. Nie ma jednego ustalonego miejsca na przechowywanie funkcji widoków, o ile znajdują się one w ścieżkach Pythona. Istnieją jednak popularne konwencje dotyczące nazewnictwa i umieszczania plików. W tym poradniku będziemy przestrzegać tych konwencji.
Krok 1. Aktywacja środowiska wirtualnego
Django najlepiej działa w wirtualnym środowisku Python. Nasza aplikacja Django sample_app jest utworzona w dedykowanym środowisku wirtualnym. Najpierw aktywuj środowisko wirtualne:
|
1 2 3 |
cd sample_app/ . sample_app_env/bin/activate |
Krok 2. Tworzenie funkcji widoków
Przejdź do naszego katalogu random_app który zawiera modele dla naszej strony blogowej:
|
1 |
cd random_app/ |
W tym miejscu plik views.py będzie zawierał kod niezbędny do stworzenia naszych widoków. Otwórz go w edytorze tekstu:
|
1 |
nano views.py |

Potrzebujemy funkcji render() z biblioteki django.shortcuts , więc pierwsza linia pozostaje bez zmian. Funkcja render() function pomaga połączyć szablon i kontekst, aby zostały zwrócone jako odpowiedni obiekt HttpResponse .
Pierwszy widok przywita użytkowników wchodzących na stronę główną. Będziemy musieli zaimportować funkcję HttpResponse() z biblioteki Django http:
|
1 2 3 4 5 6 7 8 |
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse(Trafiłeś na stronę powitalnąwelcome page') def individual_post(request): return HttpResponse('Tutaj pojawią się poszczególne wpisy') |

Zapisz plik i zamknij edytor.
Krok 3. Mapowanie adresów URL do widoków
W tym momencie do tych funkcji nie jest przypisany żaden adres URL, więc są one niedostępne. Musimy dodać kolejny blok urlpatterns w pliku konfiguracyjnym URL. W Pythonie jest on określany jako plik URLconf (konfiguracji URL).
Django musi określić główny moduł URLconf do użycia. Następnie zajrzy do urlpatterns zawierającego wszystkie wzorce URL w strukturze listy. Django następnie przeszukuje plik, aż znajdzie pierwsze dopasowanie. Gdy je znajdzie, Django wyszuka powiązany z nim widok. Ta funkcja widoku otrzyma dane powiązane ze wzorcem URL oraz obiekt HttpRequest . Błąd w dowolnym momencie tego procesu przekieruje do widoku obsługi błędów.
Otwórz plik urls.py aplikacji random_app w edytorze tekstu:
|
1 |
nano urls.py |
Wprowadź następujący kod:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('post/', views.individual_post, name='individual_post') ] |

Zapisz plik i zamknij edytor.
Po zakończeniu będziemy musieli również uwzględnić ścieżkę pliku URL w sample_app katalogu URLconf. W przeciwnym razie nasza aplikacja Django go nie rozpozna. Dzieje się tak, ponieważ URLconf dla sample_app jest ustawiony jako ROOT_URLCONF w pliku ustawień.
Przejdź do katalogu naszej aplikacji sample_app:
|
1 |
cd sample_app/sample_app/sample_app/ |
![]()
Otwórz plik urls.py w edytorze tekstu:
|
1 |
nano urls.py |

Wprowadź następujący kod w pliku:
|
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('random_app.urls')) ] |

Przetestujmy nasze zmiany. Uruchom serwer aplikacji Django na localhost:8000:
|
1 |
python manage.py runserver localhost:8000 |

Przejdź pod adres URL:
|
1 |
localhost:8000 |

Sprawdź adres URL wpisu:
|
1 |
localhost:8000/posts |
Krok 4. Tworzenie wpisu na blogu
Ustaliliśmy nasze wzorce URL i zbadaliśmy ich działanie. Czas dodać przykładowy blog i zobaczyć wynik.
Z panelu administracyjnego przejdź do strony random_app :
|
1 |
localhost:8000/admin/random_app/ |

Kliknij link +Dodaj w wierszu Posts :

Na nowej stronie internetowej pojawi się formularz składający się z następujących pól.
- Tytuł: Tytuł wpisu na blogu.
- Slug: Odnosi się do części prawidłowego adresu internetowego z czytelnymi dla człowieka słowami kluczowymi. Zazwyczaj slugi są tworzone na podstawie tytułu wpisu.
- Treść: Treść wpisu na blogu.
- Autor: Odpowiednia nazwa użytkownika.
Kliknij ZAPISZ , aby zapisać wpis:

Krok 5. Wyświetlanie danych w bazie danych
W następnej sekcji będziemy pracować z naszą bazą danych. Zaloguj się do MySQL jako użytkownik dedykowany dla Django:
|
1 |
mysql -u sample_app_user -p |

Zweryfikujmy, czy nasz wpis został pomyślnie zarejestrowany w bazie danych:
|
1 |
USE sample_app_data; |

|
1 |
SELECT * FROM random_app_post; |

Voila! Wpis został pomyślnie zarejestrowany! Możesz teraz wyjść z powłoki MySQL.
Krok 6. Dodatkowe poprawki widoku
Jest jeszcze kilka rzeczy, które możemy zrobić z naszymi widokami. Otwórz plik w edytorze tekstu:
|
1 |
nano views.py |
Kod powinien wyglądać następująco:
|
1 2 3 4 5 6 7 8 9 10 |
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(request): return HttpResponse('Hello, welcome to the index page.') def individual_post(request): recent_post = Post.objects.get(id__exact=1) return HttpResponse(recent_post.title + ': ' + recent_post.content) |

Tutaj dodaliśmy dodatkową instrukcję import dla Post. Ciąg znaków w cudzysłowie z HttpResponse został również zastąpiony danymi z naszego wpisu na blogu. Aby odwołać się do danych, używamy identyfikatora wpisu na blogu z powiązanym obiektem. Identyfikator jest przechowywany w zmiennej recent_post. Teraz możemy wyodrębnić określone pola obiektu, dodając nazwę pola po kropce.
Po wprowadzeniu zmian zweryfikujmy je. Uruchom serwer Django:
|
1 |
python manage.py runserver localhost:8000 |

Teraz przejdź do strony Posts :
|
1 |
localhost:8000/posts |

Powinien wyświetlić się utworzony przez nas wpis na blogu.
Krok 7. Wyjście z projektu
Aby wyjść z serwera Django, naciśnij Ctrl + C w terminalu. Aby dezaktywować środowisko wirtualne Python, uruchom następujące polecenie:
|
1 |
deactivate |
Podsumowanie
W tym poradniku pomyślnie zademonstrowaliśmy tworzenie widoków, mapowanie wzorców URL oraz wyświetlanie tekstów na stronie internetowej z bazy danych random_app w Django.Są to fundamentalne pojęcia Django, które należy zrozumieć i opanować.
Oto dodatkowe zasoby, które pomogą Ci tworzyć aplikacje Django i nimi zarządzać:
- Tworzenie aplikacji Django z połączeniem z bazą danych: Poradnik
- Budowanie aplikacji Django i Gunicorn z Dockerem na Ubuntu
- Jak zabezpieczyć i skalować aplikację Django za pomocą Dockera, Nginx i Let’s Encrypt
Miłego kodowania!

Komentarze
Brak komentarzy. Bądź pierwszy.