Tworzenie aplikacji internetowej w Pythonie za pomocą Django

Django to wysokopoziomowy framework internetowy Pythona, który zachęca do szybkiego rozwoju i czystego, pragmatycznego projektowania. Zajmuje się wieloma problemami związanymi z rozwojem sieci, pozwalając programistom skupić się na pisaniu aplikacji zamiast wyważania otwartych drzwi. Ten artykuł przeprowadzi Cię przez proces tworzenia prostej aplikacji internetowej przy użyciu Django.

Pierwsze kroki z Django

Zanim zaczniesz budować aplikację internetową Django, musisz zainstalować Django. Możesz zainstalować Django za pomocą pip, instalatora pakietów Pythona:

pip install django

Po zainstalowaniu Django możesz utworzyć nowy projekt Django, uruchamiając następujące polecenie w terminalu lub wierszu poleceń:

django-admin startproject myproject

To polecenie tworzy nowy katalog o nazwie myproject z niezbędnymi plikami do rozpoczęcia. Przejdź do tego katalogu:

cd myproject

Tworzenie aplikacji Django

W swoim projekcie Django możesz tworzyć indywidualne aplikacje, które obsługują określone funkcjonalności. Na przykład możesz mieć aplikację do uwierzytelniania użytkowników, inną do postów na blogu itd. Aby utworzyć aplikację, uruchom następujące polecenie:

python manage.py startapp myapp

Tworzy nowy katalog o nazwie myapp zawierający pliki takie jak models.py, views.py i tests.py, między innymi. Zdefiniujesz swoje modele, widoki i szablony w tej aplikacji.

Definiowanie modeli

Modele Django definiują strukturę Twoich danych i są reprezentowane jako klasy Pythona. Definiujesz je w pliku models.py w swojej aplikacji:

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

Po zdefiniowaniu modeli musisz utworzyć dla nich tabele bazy danych. Uruchom następujące polecenia, aby zastosować migracje:

python manage.py makemigrations
python manage.py migrate

Tworzenie widoków i szablonów

Widoki Django obsługują logikę Twojej aplikacji i wchodzą w interakcje z modelami, aby renderować dane w szablonach. Prosty widok można utworzyć w pliku views.py:

from django.shortcuts import render
from .models import BlogPost

def home(request):
    posts = BlogPost.objects.all()
    return render(request, 'home.html', {'posts': posts})

Powyższy kod pobiera wszystkie wpisy blogowe z bazy danych i przekazuje je do szablonu o nazwie home.html. Szablon home.html jest przechowywany w katalogu o nazwie templates w Twojej aplikacji:

<!DOCTYPE html>
<html>
<head>
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    <ul>
    {% for post in posts %}
        <li>{{ post.title }} - {{ post.created_at }}</li>
    {% endfor %}
    </ul>
</body>
</html>

Konfigurowanie adresów URL

Aby połączyć widoki z adresami URL, musisz zdefiniować wzorce adresów URL. Utwórz plik o nazwie urls.py w katalogu aplikacji i dodaj następujący kod:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

Następnie należy uwzględnić wzorce adresów URL tej aplikacji w pliku urls.py głównego projektu:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

Uruchamianie serwera deweloperskiego

Po skonfigurowaniu modeli, widoków, szablonów i adresów URL możesz uruchomić serwer programistyczny Django, aby zobaczyć swoją aplikację internetową w działaniu:

python manage.py runserver

Otwórz przeglądarkę internetową i przejdź do http://127.0.0.1:8000/, aby zobaczyć działającą aplikację internetową Django.

Wniosek

Django ułatwia tworzenie potężnych i solidnych aplikacji internetowych za pomocą Pythona. Ten przewodnik obejmuje podstawy konfigurowania projektu Django, tworzenia aplikacji, definiowania modeli, tworzenia widoków i szablonów, konfigurowania adresów URL i uruchamiania serwera deweloperskiego. Dzięki Django możesz z łatwością tworzyć skalowalne i łatwe w utrzymaniu aplikacje internetowe.