Diese Anleitung geht davon aus, dass du BookWyrm mit Docker entwickelst. Du musst Docker und docker-compose installieren, bevor du loslegst.
Wenn du zu BookWyrm beiträgst, ohne Docker zu verwenden, würden wir uns freuen, wenn du uns helfen würdest, diese Anleitung zu aktualisieren, damit sie auch eine Hilfestellung enthält, wie eine Entwicklungsumgebung ohne Docker aufgesetzt werden kann.
git clone ausführen, um den Quellcode auf deinen Computer herunterzuladen.main-Branch durchgeführt. Stelle also sicher, dass du diesen Branch ausgecheckt hast: git checkout main.env.example) kopierst und als neue Datei namens .env einfügst. In der Kommandozeile kannst du das wie folgt tun:cp .env.example .env
./bw-dev create_secrets # Create the secrets file with random values. You only need to do this once.
./bw-dev dev up --build # Build and start development stack
./bw-dev rundev python manage.py admin_code # Shows the admin-code for initial setup. You only need to do this once.
http://localhost:1333.Wenn du neugierig bist: Das ./bw-dev-Kommando ist ein simples Shell-Script, das verschiedene andere Tools ansteuert. Du könntest es überspringen und direkt docker-compose build oder docker-compose up laufen lassen, wenn du möchtest. ./bw-dev kombiniert diese Aufrufe der Einfachheit halber an einem gemeinsamen Ort. Führe das Skript ohne Argumente aus, um eine Liste der verfügbaren Kommandos zu erhalten, lies die zugehörige Seite in der Dokumentation oder öffne das Skript und sieh genau, was jedes Kommando tut!
Wenn du ein Modell änderst oder erstellst, wird sich wahrscheinlich die Datenbankstruktur ändern. Damit diese Änderungen wirksam werden, musst du Djangos makemigrations-Befehl ausführen, um eine neue Django Migrationsdateizu erstellen und dann diese migrieren:
./bw-dev makemigrations
./bw-dev rundev python manage.py migrate
Jedes Mal, wenn du CSS oder JavaScript bearbeitest, musst du Djangos collectstatic-Befehl erneut ausführen, damit deine Änderungen wirksam werden:
./bw-dev rundev python manage.py collectstatic
Wenn du yarn installiert hast, kannst du yarn watch:static ausführen, um das vorherige Skript bei jeder Änderung automatisch im Verzeichnis bookwyrm/static ausführen zu lassen.
Before submitting patch, you should check ruff and other formatting tools. For those to work nicely, you should make sure you have development web-container and dev-tools build.
./bw-dev dev build # This is needed only once, if you haven't run dev stack previously
./bw-dev dev build dev-tools # This is needed only once and if you change pyproject.toml or Dockerfile
After those commands, you can run formatters and pytest and mypy with bw-dev command:
./bw-dev formatters
./bw-dev mypy
./bw-dev pytest
In .env.dev:
DOMAIN zu der Domain, die du verwendest (z. B. abcd-1234.ngrok-free.app).PORT=1333).Prüfe, ob du alle notwendigen Einstellungen getroffen hast, bevor du fortfährst.
Wenn du versuchst, deinen Administrations-Account anzulegen, und eine Nachricht siehst, die CSRF verification failed lautet, kann es sein, dass du die Domain oder den Port falsch angegeben hast.
Wenn du ausprobieren möchtest, E-Mails zu versenden, wirst du passende, echte Werte im Bereich "E-Mail-Konfiguration" angeben müssen. Du musst nichts an der separaten Einstellung EMAIL ändern. These settings are in .env -file