majbootred / modulverwaltungvfh

1 stars 0 forks source link

SQL im lokalen Django verwenden #10

Closed thakira closed 5 years ago

thakira commented 5 years ago

Du brauchst folgendes Paket: mysqlclient Unter Python2 war das wohl mysqldb und das wird auch noch in den Anleitungen überall angegeben. Aber das gibt es nicht mehr und meinen Nachforschungen zu Folge ist o.g. das jetzt zu verwendende. Die Installation war bei mir ein wenig kompliziert, weil er immer gemeckert hat das er Visual C++ Build Tools braucht. Aber auch eine Installation derselben hat nichts geholfen. Ich habe dann im Web eine Seite gefunden wo man die Installationsdatei als .whl-Datei herunterladen konnte. Mit der habe ich es dann hinbekommen. Da Du ja aber MacOS hast, wird meine nicht funktionieren. Versuch es einfach erstmal, ob es unter MacOS auch einfach über pip geht, falls nicht, müssen wir gucken, ob wir diese auch Datei auch für Mac finden.

Außerdem mußt Du Dir einen SQL-&Web-Server installieren (Ich habe XAMPP, ggf. hast Du da aber andere Präferenzen). Dort legst Du dann eine Datenbank an und merkst Dir Username und Passwort (standardmässig root und leer). Kursives durch Deine Daten ersetzen :) In der settings.py in Django ersetzt Du dann den Block Databases durch: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'Datenbankname', 'USER': 'username', 'PASSWORD': 'password', 'HOST': '127.0.0.1', } }

Danach führst Du python manage.py migrate aus (Achtung, vorher muß mysqlclient installiert sein, sonst meckert er). Wenn Du später den superuser anlegst, verwende die gleichen Credentials wie für die Datenbank.

Wenn Du das Projekt in PyCharm öffnest, zeigt er Dir unten rechts direkt an, das er eine Datenverbindung gefunden hast und ob Du diese konfigurieren willst. Achtung, hier mußt Du in den Einstellungen evtl. eine Änderung machen - zumindest hat er bei mir "Test Connection" nicht gemacht weil er an der Zeitzone rumgemeckert hat. Ersetze die URL durch jdbc:mysql://127.0.0.1:3306/Datenbankname?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Europe/Berlin (Datenbankname durch Deinen ersetzen) Danach lief der Connection Test bei mir durch.

Die Migrationen müssen wir dann natürlich nach dem git pull auf pythonanywhere auch dort vornehmen. Der Datenbankuser in pythonanywhere heißt: modulverwaltungvfh und das Passwort: oos2019django Ich habe ein anderes genommen als für pythonanywhere selbst, da es in der settings.py dann erstmal im Klartext stehen wird. Wenn wir noch Zeit haben, können wir da mal gucken, wie man das "verstecken" kann.