Heim > Backend-Entwicklung > Python-Tutorial > Verwendung von Django in Python: vom Anfänger bis zum fortgeschrittenen Programmieren

Verwendung von Django in Python: vom Anfänger bis zum fortgeschrittenen Programmieren

WBOY
Freigeben: 2023-06-22 14:51:07
Original
2185 Leute haben es durchsucht

Mit der Popularität der Python-Sprache hat sich das Django-Framework zu einem beliebten Webentwicklungs-Framework entwickelt. Die umfangreichen Funktionen und die Fähigkeit des Django-Frameworks, die Entwicklungseffizienz zu verbessern, locken Entwickler in Scharen dazu. In diesem Artikel werden einige Einführungskenntnisse in das Django-Framework eingeführt und einige fortgeschrittene Programmierkenntnisse vermittelt, um Anfängern zu helfen, die Verwendung von Django besser zu verstehen und zu beherrschen.

Das Django-Framework ist ein Open-Source-Webframework, das auf der Python-Sprache basiert. Seine Designphilosophie ist „realistisch, einfach und praktisch“, basiert hauptsächlich auf dem MVC-Designmuster (Model-View-Controller) und bietet vollständige Webentwicklungsfunktionen, einschließlich Datenbankschnittstelle, URL-Routing, Formularverarbeitung und Vorlagenrendering. und Benutzerauthentifizierung usw.

Django-Installation

Bevor wir Django verwenden, müssen wir zuerst Django installieren. Sie können pip verwenden, um Django zu installieren: Führen Sie einfach den Befehl pip install Django aus.

Die Grundstruktur von Django

Django ist in mehrere Komponenten unterteilt, darunter Modell, Ansicht und Vorlage. Sie sind wie folgt definiert:

  1. Modell: wird verwendet, um die Interaktion zwischen Datenstrukturen und Datenbanken zu definieren.
  2. Ansicht: Benutzeranfragen verarbeiten, HttpResponse-Objekte erstellen und die Antwort durch Rendern von Vorlagen vervollständigen.
  3. Vorlage: Wird zum Definieren der Anzeigeform von Webseiten verwendet.

URL-Konfiguration für Django

Die URL-Konfiguration ist die Grundlage für die Überwachung aller HTTP-Anfragen und deren Weiterleitung an die entsprechenden Ansichten. In Django können Sie URLs in der Datei urls.py des Projekts konfigurieren, zum Beispiel:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('about/', views.about, name='about'),
]
Nach dem Login kopieren

Das Obige ist ein einfaches URL-Konfigurationsbeispiel. Es definiert zwei URLs: eine ist die Homepage des Stammverzeichnisses und die andere ist die About-Seite von /about/. Der Pfad sendet die Anfrage an die Ansichtsfunktionen index() und about() in der Datei „views.py“. Die Ansichtsfunktionen werden im nächsten Abschnitt definiert.

Djangos Ansichtsfunktionen

In Django sind Ansichtsfunktionen Codes, die auf Benutzeranfragen reagieren. Sie erstellen HttpResponse-Objekte basierend auf dem Pfad in der URL-Konfiguration. Die Form der Ansichtsfunktion ist wie folgt:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, World!")
Nach dem Login kopieren

Das Obige ist ein einfaches Beispiel für die Ansichtsfunktion index(). Es antwortet auf HTTP-Anfragen und gibt eine „Hello, World!“-Zeichenfolge zurück.

Djangos Vorlagen

Djangos Vorlagen sind Codes, die zum Definieren von Webseitenstilen verwendet werden. Sie ermöglichen es Ihnen, Python-Code in HTML einzubetten, um dynamische Webseiten zu erstellen. Vorlagendateien werden im Verzeichnis project/app/templates/ gespeichert. Hier ist ein Beispiel für eine Vorlage:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{ title }}</title>
</head>
<body>
    <p>{{ content }}</p>
</body>
</html>
Nach dem Login kopieren

In Vorlagen wird {{ }} verwendet, um Blöcke von Python-Code anzugeben, in denen auf Variablen zugegriffen und Bedingungen und Schleifen ausgeführt werden können. Im obigen Beispiel werden Titel- und Inhaltsvariablen in der Ansichtsfunktion an die Vorlage übergeben, um Titel und Absätze dynamisch zu generieren.

Djangos Modell

Djangos Modell ist der Code, der zur Definition der Interaktion zwischen Datenstrukturen und Datenbanken verwendet wird. Sie ermöglichen Ihnen die einfache Arbeit mit Datenbankeinträgen auf pythonische Weise. Modelldefinitionen werden in der Datei app/models.py gespeichert. Hier ist ein Beispiel für ein Modell:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    pub_date = models.DateField()

    def __str__(self):
        return self.title
Nach dem Login kopieren

Im obigen Beispiel haben wir ein Buchmodell definiert, das über die Attribute „Titel“, „Autor“ und „Veröffentlichungsdatum“ verfügt. Die Funktion __str__() definiert die String-Darstellung des Modells. Dieses Modell verwendet Djangos Standard-SQLite-Datenbank zur Speicherung. Alternativ können Sie auch andere Datenbanken wie MySQL verwenden.

Erweiterte Programmiertipps für Django

  1. Statische Dateiverarbeitung

Django unterstützt die Verarbeitung statischer Dateien wie CSS, JavaScript und Bilder. Fügen Sie die folgende Zeile in der Datei „settings.py“ hinzu:

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
]

STATIC_ROOT = '/var/www/static_files/'
Nach dem Login kopieren

In /templates/my_template.html können Sie diese Codezeile einfügen:

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'my_style.css' %}">
Nach dem Login kopieren

Mit der obigen Codezeile kann die Stildatei „my_style.css“ aus der statischen Datei geladen werden Ordner.

  1. Benutzerauthentifizierung

Django bietet ein Benutzerauthentifizierungssystem, mit dem Sie einfach eine rollenbasierte Zugriffskontrolle implementieren und sicherstellen können, dass Benutzer beim Zugriff auf geschützte Seiten ordnungsgemäß authentifiziert werden. Um diese Funktion nutzen zu können, müssen Sie zunächst Folgendes aus dem Django.contrib.auth-Modul importieren:

from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
Nach dem Login kopieren

Anschließend können Sie die geschützte Ansicht mit dem @loginrequired-Dekorator markieren und die Funktionen „Authentifizierung“, „Anmelden“ und „Abmelden“ für die An- und Abmeldung verwenden Verfahren.

  1. Testen

Django verfügt über ein Test-Framework, mit dem Sie Testfälle schreiben und sicherstellen können, dass Ihre Anwendung unter allen Umständen ordnungsgemäß funktioniert. Um Testfälle zu schreiben, erstellen Sie eine Datei „tests.py“ und importieren Sie die TestCase-Klasse von Django. Hier ist ein Beispiel für einen Testfall:

from django.test import TestCase
from django.urls import reverse

class MyAppTests(TestCase):
    def test_index(self):
        response = self.client.get(reverse('index'))
        self.assertEqual(response.status_code, 200)
Nach dem Login kopieren

Im obigen Beispiel haben wir eine TestClass namens MyAppTests erstellt und einen Testfall test_index hinzugefügt. Wir verwenden das Clientobjekt von Django, um die Anfrage zu simulieren und sicherzustellen, dass ein HTTP 200-Antwortcode zurückgegeben wird.

Zusammenfassung

Django Framework ist ein leistungsstarkes Webentwicklungsframework, das ein vollständiges und benutzerfreundliches Toolset für die schnelle Entwicklung von Webanwendungen bietet. Mit den in diesem Artikel vorgestellten Grundkonzepten und fortgeschrittenen Programmiertechniken können Sie ganz einfach Django-Webanwendungen erstellen und ein tiefes Verständnis für die Verwendung von Django erlangen.

Das obige ist der detaillierte Inhalt vonVerwendung von Django in Python: vom Anfänger bis zum fortgeschrittenen Programmieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage