Django2.* + Mysql5.7-Entwicklungsumgebung Integrations-Tutorial-Diagramm

Django2.* + Mysql5.7-Entwicklungsumgebung Integrations-Tutorial-Diagramm

Umfeld:

MAC_OS 10.12

Python 3.6

MySQL 5.7.25

Django 2.2.3

Voraussetzung: Python, Django und MySQL wurden erfolgreich installiert und können separat ausgeführt werden

1. Datenbankkonfiguration in den Einstellungen

DATENBANKEN = {
  'Standard': {
    'ENGINE': 'django.db.backends.mysql',
    "USER": "Benutzername",
    "PASSWORD": "Ihr Passwort",
    "NAME": "Datenbankname"
  }
}

2. Ändern Sie den Standarddatenbanktreiber

1. Installieren Sie pymysql

pip3 install pymysql

2. Ersetzen Sie den Treiber

Suchen Sie das Hauptpaket des Projekts. Wenn das Projekt beispielsweise TEST heißt, suchen Sie die Datei __init__.py unter dem TEST-Paket.

Fügen Sie den folgenden Code hinzu:

importiere pymysqlpymysql.install_as_MySQLdb()

3. Problemlösung:

Frage 1: Problem mit der MySQL-Client-Version

"""
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 oder neuer ist erforderlich; Sie haben 0.9.3.
"""

Lösung: Folgen Sie dem Pfad in der Abbildung, um die entsprechenden Zeilen 35 und 36 zu finden und kommentieren Sie diese aus;

Frage 2: Problem bei der Zeichenfolgencodierung und -decodierung

"""
AttributeError: Das ‚str‘-Objekt hat kein Attribut ‚decode‘
"""

Lösung: Klicken Sie auf die Informationen zur Ausnahmeverfolgung, suchen Sie in operations.py nach Zeile 146 und ändern Sie „decode“ in „encode“:

Probelauf:

PS: Der Grund für die Änderung des Quellcodes ist wahrscheinlich das Kompatibilitätsproblem zwischen Django 2, Python 3 und PyMySQL. Darüber hinaus liegt der Grund für die Wahl von 2.* in der offiziellen Supportzeit.

Der Standarddatenbanktreiber für Django ist mysqlclient, aber beim Testen stellte sich heraus, dass er überhaupt nicht ausgeführt werden konnte und der Import verschiedener MySQL-Bibliotheken fehlschlug! .......

Zusammenfassen

Oben ist das vom Herausgeber vorgestellte illustrierte Tutorial zur Integration der Entwicklungsumgebung Django2.* + Mysql5.7. Ich hoffe, es wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Zusammenfassung der Konfigurationsmethode für die Verbindung von Django mit MySQL (empfohlen)
  • Django verwendet die vorhandene Datentabellenmethode der Mysql-Datenbank
  • Django liest MySQL-Daten und zeigt sie auf dem Frontend an
  • Django startet nach der Neuinstallation von MySQL neu und meldet einen Fehler: So lösen Sie das Problem „Kein Modul mit dem Namen ‚MySQLdb‘“
  • Beispielcode für die Django+MySQL-Konfiguration und einfache Bedienung der Datenbank
  • So installieren Sie Python3 und Django unter Linux und konfigurieren MySQL als Standard-Django-Server
  • Stellen Sie eine Apache+Python+Django+MySQL-Umgebung auf einem Linux-System bereit.
  • Django1.7+Python 2.78+Pycharm-Konfiguration MySQL-Datenbank-Tutorial
  • Python Django stellt eine Verbindung zur MySQL-Datenbank her, um hinzuzufügen, zu löschen, zu ändern und abzufragen

<<:  Tiefgreifendes Verständnis des benutzerdefinierten Routing-Managements von React Native

>>:  Detaillierte Erläuterung der Verwendung des Linux-Befehls seq

Artikel empfehlen

So stellen Sie nginx mit Docker bereit und ändern die Konfigurationsdatei

Nginx mit Docker bereitstellen, so einfach ist da...

So beheben Sie Dateisystemfehler in Linux mit „fsck“

Vorwort Das Dateisystem ist für die Organisation ...

Detaillierte Erklärung der Verwendung des Linux-Befehls „tee“

Der Befehl tee wird hauptsächlich verwendet, um d...

Eine kurze Einführung in JavaScript-Arrays

Inhaltsverzeichnis Einführung in Arrays Array-Lit...

Vue verwendet Regeln zur Implementierung der Formularfeldvalidierung

Es gibt viele Möglichkeiten, Formularfelder in Vu...

HTML-Basis-URL-Tag

Seine Funktion besteht darin, einen globalen Stil ...

Was sind Inline-Elemente und Blockelemente?

1. Inline-Elemente nehmen nur die Breite des Inhal...

Der Unterschied zwischen HTML-Name-ID und Klasse_PowerNode Java Academy

Name Geben Sie einen Namen für das Tag an. Format...

Detaillierte Erklärung der langsamen Remote-Verbindung von Navicat zu MySQL

Die endgültige Lösung ist im letzten Bild Wenn Si...

So implementieren Sie das Prototypmuster in JavaScript

Überblick Das Prototypmuster bezieht sich auf den...

Zusammenfassung der HTML-Formatierungsstandards für webbasierte E-Mail-Inhalte

1. Seitenanforderungen 1) Verwenden Sie standardm...