Meta tags:
description= Django von Grund auf lernen: Framework installieren, Models, Views und Templates erstellen, Migrationen ausführen und eine Web-App starten.;
Headings (most frequently used words):
django, erstellen, verwenden, eine, tutorial, warum, wie, djangos, mtv, muster, funktioniert, virtuelle, umgebung, einrichten, installieren, ein, projekt, app, models, definieren, migrationen, ausführen, das, admin, panel, views, schreiben, templates, urls, konfigurieren, den, vollständigen, ablauf, überprüfen, orm, query, spickzettel, zusammenfassung, der, projektstruktur, häufige, fallstricke, nächste, schritte, batteries, included, sicherheit, standardmäßig, skalierbarkeit, großes, ökosystem,
Text of the page (most frequently used words):
python (78), django (53), sie (47), und (40), blog (40), post (32), html (30), die (30), kopieren (26), models (25), #erstellen (23), der (22), eine (22), ein (22), das (21), admin (21), mit (18), posts (17), lernen (16), templates (16), matplotlib (15), urls (14), mysql (14), mongodb (13), title (13), from (12), views (11), app (11), import (11), ist (11), post_list (11), für (10), wie (10), von (10), model (10), den (9), tutorial (9), auf (9), template (9), mysite (9), manage (9), wird (9), objects (9), all (9), url (9), contrib (9), listen (9), dem (9), schritte (8), orm (8), djangos (8), oder (8), post_detail (8), date_posted (8), projekt (7), aus (7), nach (7), migrations (7), author (7), einen (7), path (7), view (7), block (7), content (7), strings (7), elemente (7), alle (6), verwenden (6), definieren (6), umgebung (6), true (6), apps (6), nicht (6), wenn (6), browser (6), sich (6), http (6), endblock (6), dateien (6), string (6), w3docs (5), tools (5), migrationen (5), ausführen (5), installieren (5), datenbank (5), pip (5), diese (5), base (5), sql (5), dann (5), the (5), öffnen (5), for (5), request (5), entfernen (5), ändern (5), einer (5), venv (5), daten (5), tuples (5), methoden (5), formatter (5), color (5), über (4), json (4), code (4), generator (4), web (4), überprüfen (4), schreiben (4), panel (4), virtuelle (4), this (4), framework (4), sind (4), jedes (4), debug (4), migrate (4), makemigrations (4), aktualisieren (4), starten (4), variablen (4), render (4), klasse (4), hinzufügen (4), datetimefield (4), ihre (4), erste (4), regression (4), dictionaries (4), set (4), listenelemente (4), durchlaufen (4), encoder (3), editor (3), quizze (3), übungen (3), php (3), javascript (3), css (3), nächste (3), projektstruktur (3), query (3), konfigurieren (3), mtv (3), einführung (3), rest (3), seine (3), module (3), entwicklungsserver (3), verzeichnis (3), immer (3), installed_apps (3), registrieren (3), 0001_initial (3), wsgi (3), settings (3), folgt (3), als (3), get (3), filter (3), beiträge (3), dispatcher (3), 127 (3), 8000 (3), include (3), site (3), name (3), funktionen (3), text (3), date (3), extends (3), funktion (3), antwort (3), werden (3), get_object_or_404 (3), return (3), def (3), class (3), interface (3), auth (3), database (3), des (3), __init__ (3), activate (3), and (3), cross (3), sets (3), zugreifen (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), password (2), java (2), git (2), bücher (2), tutorials (2), snippets (2), häufige (2), fallstricke (2), zusammenfassung (2), spickzettel (2), vollständigen (2), ablauf (2), einrichten (2), muster (2), funktioniert (2), warum (2), page (2), scipy (2), authentifizierung (2), apis (2), produktion (2), alles (2), gegen (2), umgebungen (2), abhängigkeiten (2), verstehen (2), struktur (2), allowed_hosts (2), zwischen (2), lassen (2), not (2), found (2), nur (2), erstellt (2), keine (2), ausgabe (2), dieses (2), sieht (2), anweisungen (2), alice (2), author__username (2), exclude (2), specific (2), count (2), ermöglicht (2), ihnen (2), abfragen (2), zeit (2), gerenderte (2), zurückgegeben (2), fragt (2), übersetzt (2), select (2), order (2), startseite (2), zeigt (2), yet (2), melden (2), fügen (2), beitrag (2), hinzu (2), runserver (2), übergibt (2), int (2), namespace (2), urlpatterns (2), datei (2), ordnet (2), anfragepfade (2), truncatewords (2), empty (2), automatisch (2), variable (2), abschnitt (2), einem (2), verwendete (2), dtl (2), div (2), href (2), article (2), head (2), meta (2), body (2), header (2), main (2), enthalten (2), objekt (2), gibt (2), schlüssel (2), dictionary (2), display (2), newest (2), first (2), zurückgibt (2), superuser (2), sehen (2), anmelden (2), können (2), register (2), lesen (2), löschen (2), ohne (2), apply (2), contenttypes (2), sessions (2), create (2), migration (2), file (2), __str__ (2), auto_now (2), auto_now_add (2), ihr (2), foreignkey (2), on_delete (2), cascade (2), länge (2), textfield (2), charfield (2), max_length (2), self (2), user (2), entspricht (2), configuration (2), line (2), damit (2), kann (2), mehrere (2), eines (2), entry (2), point (2), asgi (2), project (2), install (2), virtuellen (2), drittanbieter (2), mehr (2), dass (2), pakete (2), sein (2), caching (2), modus (2), batteries (2), included (2), handling (2), zahlen (2), klassen (2), limit (2), update (2), drop (2), collection (2), delete (2), insert (2), grid (2), schleifen (2), verbinden (2), hash (2), 2026, rechte, vorbehalten, entwickler, gemacht, sprache, datenschutzrichtlinie, kontakt, uns, unternehmen, probier, üben, kostenlose, beispiele, seit, 2014, next, previous, yes, was, helpful, offizielle, dokumentation, behandelt, klassenbasierte, formulare, bereitstellung, natürliche, sobald, hier, behandelten, grundlagen, vertraut, docs, djangoproject, com, nosql, backend, tauschen, sqlite, produktionstaugliche, halten, isoliert, verwalten, pythons, modulsystem, zugrunde, liegt, legen, tracebacks, offen, setzen, bevor, deployen, false, sucht, jeder, zusätzliche, unterordner, innerhalb, konvention, namenskollisionen, verhindert, ihn, weg, fehler, auszuführen, migrationsdatei, berührt, aber, folgen, überspringen, fehlt, findet, erzeugt, vergessen, abschluss, jede, dieser, generiert, abfrage, erst, queryset, ausgewertet, iteriert, geslict, liste, umgewandelt, dies, bezeichnet, hält, unnötige, datenbankaufrufe, minimum, lazy, evaluation, one, object, raises, doesnotexist, order_by, five, most, recent, title__icontains, containing, word, case, insensitive, mithilfe, methodenketten, häufigsten, lookups, kennen, spart, erheblich, rendert, fügt, blog_post, desc, passt, ruft, sendet, anfragedurchlauf, ihrem, noch, vorhanden, bei, erscheint, sofort, pfadkonverter, erfasst, ganzzahl, schlüsselwortargument, blog_root, binden, projektstamm, enables, namespaced, reversing, app_name, konfiguration, wörter, kürzen, datums, uhrzeitwert, formatieren, schleife, fallback, leere, wert, ausgeben, escaped, ersetzbaren, basis, erben, tag, back, detailseite, endfor, listenseite, doctype, lang, charset, utf, gemeinsames, layout, language, tags, verzeichnisstruktur, hilfreiche, abkürzung, holt, 404, zurück, falls, existiert, dritte, argument, kontext, single, primary, key, published, shortcuts, anfrage, empfängt, anmeldedaten, unter, fordert, benutzernamen, mail, adresse, passwort, createsuperuser, konto, search_fields, list_filter, list_display, modeladmin, postadmin, eingebaute, datensätze, benutzerdefinierte, benutzeroberfläche, führen, modell, felder, bearbeiten, migrationsdateien, niemals, manuell, sei, denn, deren, vollständig, applying, running, operations, perform, pending, generate, new, your, changes, müssen, angewendet, versionskontrollierte, datenbankschema, methode, steuert, shell, angezeigt, mal, aktualisiert, datensatz, gespeichert, einmalig, beim, datensatzes, gesetzt, viele, eins, beziehung, löscht, autor, gelöscht, unbegrenzter, kurzer, maximalen, zweck, feld, feldtypen, ordering, updated_at, 200, unterklasse, hat, klassenattribut, datenbankspalte, ihren, kümmert, datenbankinteraktionen, functions, tests, auto, generated, files, with, erstellung, add, staticfiles, messages, statischen, finden, startapp, eigenständige, jeweils, funktionsbereich, zuständig, hauptwerkzeug, zum, befehlen, entwicklungsservers, anlegen, superusers, innere, ordner, paket, selbst, root, installed, command, utility, dabei, entsteht, folgende, startproject, übergeordnete, container, gesamte, website, versionszeichenfolge, version, installation, aktivierter, virtueller, aktivierung, eingabeaufforderung, diesem, punkt, betrifft, scripts, windows, source, bin, macos, linux, virtual, environment, isolieren, projekte, projekten, konflikt, geraten, eingehende, richtigen, liest, logik, platzhaltern, präsentation, datenbanktabelle, verantwortung, begriff, ebene, paketverzeichnis, listet, tausende, bildverarbeitung, zahlungsgateways, stabilität, frameworks, lange, release, zyklus, bedeuten, aktiv, gepflegt, djangorestframework, großes, ökosystem, betreibt, stark, frequentierte, seiten, instagram, disqus, lässt, memcached, redis, integrieren, unterstützt, datenbankverbindungspools, vertikal, horizontal, skalieren, anwendungscode, skalierbarkeit, schützt, vor, injection, indem, parametrisierte, verwendet, bietet, zudem, integrierten, schutz, scripting, xss, forgery, csrf, clickjacking, geheime, einstellungen, reduzieren, angriffsfläche, zusätzlich, sicherheit, standardmäßig, liefert, integriertes, benutzerauthentifizierung, formularverarbeitung, unterstützung, internationalisierungstools, nötig, paketen, suchen, grundfunktionen, abzudecken, führt, durch, wesentlichen, bauen, datenbankmigrationen, hochentwickeltes, sichere, skalierbare, webanwendungen, schnell, architekturmuster, engen, verwandten, mvc, bringt, routing, vieles, bereits, philosophie, bedeutet, anwendungslogik, anstatt, infrastruktur, zusammenzubauen, grund, anfragen, pytest, tooling, best, practices, threading, asyncio, concurrency, csv, random, sys, itertools, collections, ausnahmen, auslösen, error, standard, library, zwei, addieren, umkehren, duplikate, how, enums, abstrakte, kapselung, polymorphismus, dataclasses, static, classmethod, property, magic, methods, advanced, oop, match, anweisung, enumerate, zip, map, comprehensions, kontextmanager, rekursion, closures, generatoren, decorators, args, kwargs, type, hints, intermediate, sort, find, join, table, where, tabelle, einstieg, nearest, neighbors, auc, roc, kurve, validation, bootstrap, aggregation, means, kategoriale, search, logistische, hierarchisches, clustering, konfusionsmatrix, entscheidungsbaum, train, test, skalierung, multiple, polynomiale, lineare, streudiagramm, normalverteilung, datenverteilung, perzentil, standardabweichung, mittelwert, median, machine, learning, kreisdiagramme, histogramme, balken, scatter, subplot, beschriftungen, linie, marker, plotting, pyplot, pandas, numpy, modules, dateiverarbeitung, formatierung, benutzereingabe, try, except, regex, math, datumsangaben, scope, iteratoren, vererbung, objekte, arrays, lambda, while, else, tupeln, gruppieren, operatoren, booleans, casting, datentypen, kommentare, syntax, variablennamen, tupel, entpacken, tuple, sortieren, slicen, home, ausgabevariablen, verschachtelte, modifizieren, list, comprehension, zusammenführen, globale, format, escape, zeichen, verketten, werte, zuweisen, aufrufen, durchsuchen, formatters, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, kurse, entwickeln,
Text of the page (random words):
ib erste schritte matplotlib pyplot matplotlib plotting matplotlib marker matplotlib linie matplotlib beschriftungen matplotlib grid matplotlib subplot matplotlib scatter matplotlib balken matplotlib histogramme matplotlib kreisdiagramme machine learning erste schritte mittelwert median modus standardabweichung perzentil datenverteilung normalverteilung von daten streudiagramm lineare regression polynomiale regression multiple regression skalierung train test entscheidungsbaum konfusionsmatrix hierarchisches clustering logistische regression grid search kategoriale daten k means bootstrap aggregation cross validation auc roc kurve k nearest neighbors python mysql mysql einstieg mysql datenbank erstellen mysql tabelle erstellen mysql insert mysql select mysql where mysql order by mysql delete mysql drop table mysql update mysql limit mysql join python mongodb mongodb erste schritte mongodb datenbank erstellen mongodb collection erstellen mongodb insert mongodb find mongodb query mongodb sort mongodb delete mongodb drop collection mongodb update mongodb limit intermediate python f strings type hints args kwargs decorators generatoren closures rekursion kontextmanager comprehensions enumerate zip map match anweisung advanced oop magic methods property static classmethod dataclasses polymorphismus kapselung abstrakte klassen enums python how to listen duplikate entfernen string umkehren zwei zahlen addieren error handling and the standard library ausnahmen auslösen collections itertools os sys random csv dateien concurrency in python asyncio threading python tooling and best practices virtuelle umgebungen pakete pytest http anfragen django tutorial django von grund auf lernen framework installieren models views und templates erstellen migrationen ausführen und eine web app starten django ist ein hochentwickeltes python web framework mit dem sich sichere und skalierbare webanwendungen schnell erstellen lassen es folgt dem model template view mtv architekturmuster einem engen verwandten von mvc und bringt ein orm ein admin interface url routing authentifizierung und vieles mehr bereits mit djangos batteries included philosophie bedeutet dass sie ihre zeit auf die anwendungslogik verwenden anstatt infrastruktur zusammenzubauen dieses tutorial führt durch die wesentlichen schritte django in einer virtuellen umgebung installieren ein projekt und eine app erstellen models definieren views schreiben templates bauen datenbankmigrationen ausführen und alles im browser überprüfen warum django verwenden batteries included django liefert ein integriertes admin panel benutzerauthentifizierung formularverarbeitung ein orm caching unterstützung und internationalisierungstools mit es ist nicht nötig nach drittanbieter paketen zu suchen um diese grundfunktionen abzudecken sicherheit standardmäßig django schützt vor sql injection indem es parametrisierte abfragen über sein orm verwendet es bietet zudem integrierten schutz gegen cross site scripting xss cross site request forgery csrf und clickjacking der geheime schlüssel der debug modus und die allowed_hosts einstellungen reduzieren die angriffsfläche zusätzlich skalierbarkeit django betreibt stark frequentierte seiten wie instagram und disqus sein caching framework lässt sich mit memcached und redis integrieren und das orm unterstützt datenbankverbindungspools sie können vertikal oder horizontal skalieren ohne den anwendungscode zu ändern großes ökosystem djangos paketverzeichnis listet tausende von drittanbieter apps rest apis djangorestframework bildverarbeitung zahlungsgateways und mehr die stabilität des frameworks und der lange release zyklus bedeuten dass diese pakete aktiv gepflegt werden wie djangos mtv muster funktioniert ebene django begriff verantwortung daten model python klasse die einer datenbanktabelle entspricht präsentation template html datei mit variable platzhaltern logik view python funktion oder klasse die daten liest und eine antwort zurückgibt der url dispatcher urls py ordnet eingehende anfragepfade dem richtigen view zu der view fragt models ab und übergibt dann daten an ein template das gerenderte html wird an den browser zurückgegeben eine virtuelle umgebung einrichten isolieren sie django projekte immer in einer virtuellen umgebung damit abhängigkeiten nicht zwischen projekten in konflikt geraten create and activate a virtual environment python m venv venv source venv bin activate macos linux venv scripts activate windows kopieren nach der aktivierung zeigt ihre eingabeaufforderung venv jedes pip install ab diesem punkt betrifft nur diese umgebung django installieren installieren sie django mit aktivierter virtueller umgebung über pip pip install django kopieren überprüfen sie die installation python m django version kopieren django gibt eine versionszeichenfolge wie 5 1 4 aus ein django projekt erstellen ein projekt ist der übergeordnete container für ihre gesamte website erstellen sie eines mit django admin startproject mysite cd mysite kopieren dabei entsteht die folgende struktur mysite manage py command line utility for this project mysite __init__ py settings py project configuration database installed apps urls py root url dispatcher asgi py asgi entry point wsgi py wsgi entry point kopieren manage py ist ihr hauptwerkzeug zum ausführen von befehlen wie dem starten des entwicklungsservers dem erstellen von migrationen und dem anlegen eines superusers der innere mysite ordner ist das python paket für das projekt selbst eine django app erstellen ein projekt kann mehrere apps enthalten eigenständige module die jeweils für einen funktionsbereich zuständig sind erstellen sie eine blog app python manage py startapp blog kopieren registrieren sie sie damit django ihre models templates und statischen dateien finden kann öffnen sie mysite settings py und fügen sie blog zu installed_apps hinzu installed_apps django contrib admin django contrib auth django contrib contenttypes django contrib sessions django contrib messages django contrib staticfiles blog add this line kopieren das app verzeichnis sieht nach der erstellung wie folgt aus blog __init__ py admin py register models with the admin interface apps py app configuration migrations auto generated migration files __init__ py models py database models tests py views py view functions kopieren models definieren ein model ist eine python klasse die django db models model als unterklasse hat jedes klassenattribut entspricht einer datenbankspalte djangos orm übersetzt ihren python code in sql und kümmert sich um alle datenbankinteraktionen öffnen sie blog models py und definieren sie ein post model from django db import models from django contrib auth models import user class post models model title models charfield max_length 200 content models textfield author models foreignkey user on_delete models cascade date_posted models datetimefield auto_now_add true updated_at models datetimefield auto_now true def __str__ self return self title class meta ordering date_posted newest posts first kopieren verwendete feldtypen feld zweck charfield max_length n kurzer text mit einer maximalen länge textfield text unbegrenzter länge foreignkey on_delete cascade viele zu eins beziehung löscht beiträge wenn ihr autor gelöscht wird datetimefield auto_now_add true wird einmalig beim erstellen des datensatzes gesetzt datetimefield auto_now true wird jedes mal aktualisiert wenn der datensatz gespeichert wird die __str__ methode steuert wie das objekt im admin panel und in der python shell angezeigt wird migrationen ausführen nach dem definieren oder ändern von models müssen migrationen erstellt und angewendet werden versionskontrollierte anweisungen die das datenbankschema aktualisieren generate a new migration file from your model changes python manage py makemigrations apply all pending migrations to the database python manage py migrate kopieren sie sehen eine ausgabe wie migrations for blog blog migrations 0001_initial py create model post operations to perform apply all migrations admin auth blog contenttypes sessions running migrations applying blog 0001_initial ok kopieren führen sie migrate immer dann aus wenn sie modell felder hinzufügen entfernen oder ändern bearbeiten sie migrationsdateien niemals manuell es sei denn sie verstehen deren sql vollständig das django admin panel verwenden das eingebaute admin interface ermöglicht es ihnen datensätze über einen browser zu erstellen zu lesen zu aktualisieren und zu löschen ohne benutzerdefinierte benutzeroberfläche registrieren sie das post model in blog admin py from django contrib import admin from models import post admin register post class postadmin admin modeladmin list_display title author date_posted list_filter date_posted author search_fields title content kopieren erstellen sie ein superuser konto mit dem sie sich anmelden können python manage py createsuperuser kopieren django fordert einen benutzernamen eine e mail adresse und ein passwort an starten sie dann den entwicklungsserver und öffnen sie http 127 0 0 1 8000 admin python manage py runserver kopieren melden sie sich mit den superuser anmeldedaten an und sie sehen das posts model unter dem abschnitt blog views schreiben ein view ist eine python funktion oder klasse die eine http anfrage empfängt und eine http antwort zurückgibt öffnen sie blog views py from django shortcuts import render get_object_or_404 from models import post def post_list request display all published posts newest first posts post objects all return render request blog post_list html posts posts def post_detail request pk display a single post by primary key post get_object_or_404 post pk pk return render request blog post_detail html post post kopieren get_object_or_404 ist eine hilfreiche abkürzung sie holt das objekt aus der datenbank oder gibt automatisch eine 404 antwort zurück falls es nicht existiert das dritte argument für render ist ein kontext dictionary seine schlüssel werden zu template variablen templates erstellen templates sind html dateien die django template language dtl tags enthalten erstellen sie die verzeichnisstruktur blog templates blog base html post_list html post_detail html kopieren blog templates blog base html ein gemeinsames layout doctype html html lang en head meta charset utf 8 title block title my blog endblock title head body header h1 my blog h1 header main block content endblock main body html kopieren blog templates blog post_list html die listenseite extends blog base html block title all posts endblock block content for post in posts article h2 a href blog post pk post title a h2 p by post author on post date_posted date n j y p p post content truncatewords 30 p article empty p no posts yet p endfor endblock kopieren blog templates blog post_detail html die detailseite extends blog base html block title post title endblock block content h2 post title h2 p by post author on post date_posted date n j y p div post content div a href back to all posts a endblock kopieren verwendete dtl funktionen tag filter funktion extends von einem basis template erben block name einen ersetzbaren abschnitt definieren variable einen wert ausgeben automatisch html escaped for empty schleife mit fallback für leere listen date n j y einen datums uhrzeitwert formatieren truncatewords 30 text auf 30 wörter kürzen urls konfigurieren die url konfiguration ordnet anfragepfade view funktionen zu blog urls py erstellen sie diese datei im blog verzeichnis from django urls import path from import views app_name blog enables namespaced url reversing urlpatterns path views post_list name post_list path int pk views post_detail name post_detail kopieren mysite urls py binden sie die app urls in das projektstamm url ein from django contrib import admin from django urls import path include urlpatterns path admin admin site urls path blog include blog urls namespace blog path include blog urls namespace blog_root kopieren der int pk pfadkonverter erfasst eine ganzzahl aus der url und übergibt sie als pk schlüsselwortargument an post_detail den vollständigen ablauf überprüfen starten sie den entwicklungsserver python manage py runserver kopieren öffnen sie dann http 127 0 0 1 8000 in ihrem browser wenn noch keine beiträge vorhanden sind zeigt das template no posts yet an melden sie sich bei http 127 0 0 1 8000 admin an und fügen sie einen beitrag hinzu aktualisieren sie die startseite der beitrag erscheint sofort der anfragedurchlauf für die startseite ist browser sendet get djangos url dispatcher passt an und ruft post_list auf post_list fragt post objects all ab übersetzt in select from blog_post order by date_posted desc django rendert post_list html und fügt die beiträge in das template ein das gerenderte html wird an den browser zurückgegeben django orm query spickzettel das orm ermöglicht es ihnen sql abfragen mithilfe von python methodenketten zu erstellen die häufigsten lookups zu kennen spart erheblich zeit all posts post objects all posts by a specific author post objects filter author__username alice posts containing a word in the title case insensitive post objects filter title__icontains django the five most recent posts post objects order_by date_posted 5 count posts post objects count get one object raises doesnotexist if not found post objects get pk 1 exclude posts by a specific author post objects exclude author__username alice kopieren jede dieser anweisungen generiert eine sql abfrage erst dann wenn das queryset ausgewertet wird iteriert geslict oder in eine liste umgewandelt dies wird als lazy evaluation bezeichnet und hält unnötige datenbankaufrufe auf ein minimum zusammenfassung der projektstruktur nach abschluss dieses tutorials sieht die projektstruktur wie folgt aus mysite manage py mysite settings py urls py wsgi py blog admin py migrations 0001_initial py models py templates blog base html post_list html post_detail html urls py views py kopieren häufige fallstricke die app vergessen zu registrieren wenn blog in installed_apps fehlt findet django seine models oder templates nicht und makemigrations erzeugt keine ausgabe für diese app migrate nach makemigrations überspringen nur makemigrations auszuführen erstellt die migrationsdatei berührt aber nicht die datenbank folgen sie immer mit migrate nach fehler template not found django sucht templates im templates verzeichnis jeder app der zusätzliche blog unterordner innerhalb von templates templates blog post_list html ist eine konvention die namenskollisionen zwischen apps verhindert lassen sie ihn nicht weg debug true in der produktion der entwicklungsserver und debug true legen tracebacks für alle offen setzen sie debug false und konfigurieren sie allowed_hosts bevor sie deployen nächste schritte python module verstehen sie wie pythons modulsystem djangos import struktur zugrunde liegt python pip verwalten sie django und seine abhängigkeiten python virtuelle umgebungen halten sie jedes django projekt isoliert mysql mit python tauschen sie sqlite ge...
|