Sie können dieses Repository einfach teilen oder klonen und es so verwenden, wie es ist.
Es funktioniert einfach.
Wenn Sie ein privates Repository haben möchten, erlaubt Ihnen GitHub nicht, es einfach zu forken, da es keine Änderung der Sichtbarkeit von Forks zulässt.
Aber Sie können Folgendes tun:
my-full-stack
.my-full-stack
: git clone [email protected]:fastapi/full-stack-fastapi-template.git my-full-stack
cd my-full-stack
git remote set-url origin [email protected]:octocat/my-full-stack.git
git remote add upstream [email protected]:fastapi/full-stack-fastapi-template.git
git push -u origin master
Nachdem Sie das Repository geklont und Änderungen vorgenommen haben, möchten Sie möglicherweise die neuesten Änderungen aus dieser Originalvorlage abrufen.
git remote -v
origin [email protected]:octocat/my-full-stack.git (fetch)
origin [email protected]:octocat/my-full-stack.git (push)
upstream [email protected]:fastapi/full-stack-fastapi-template.git (fetch)
upstream [email protected]:fastapi/full-stack-fastapi-template.git (push)
git pull --no-commit upstream master
Dadurch werden die neuesten Änderungen aus dieser Vorlage heruntergeladen, ohne sie zu übernehmen. Auf diese Weise können Sie überprüfen, ob alles in Ordnung ist, bevor Sie sie übernehmen.
Wenn es Konflikte gibt, lösen Sie diese in Ihrem Editor.
Sobald Sie fertig sind, übernehmen Sie die Änderungen:
git merge --continue
Anschließend können Sie die Konfigurationen in den .env
Dateien aktualisieren, um Ihre Konfigurationen anzupassen.
Stellen Sie vor der Bereitstellung sicher, dass Sie mindestens die Werte für Folgendes ändern:
SECRET_KEY
FIRST_SUPERUSER_PASSWORD
POSTGRES_PASSWORD
Sie können (und sollten) diese als Umgebungsvariablen aus Geheimnissen übergeben.
Weitere Informationen finden Sie in der Dokumentation „deployment.md“.
Einige Umgebungsvariablen in der .env
Datei haben den Standardwert changethis
.
Sie müssen sie mit einem geheimen Schlüssel ändern. Um geheime Schlüssel zu generieren, können Sie den folgenden Befehl ausführen:
python -c " import secrets; print(secrets.token_urlsafe(32)) "
Kopieren Sie den Inhalt und verwenden Sie ihn als Passwort/geheimen Schlüssel. Und führen Sie das noch einmal aus, um einen weiteren sicheren Schlüssel zu generieren.
Dieses Repository unterstützt auch die Erstellung eines neuen Projekts mit Copier.
Es kopiert alle Dateien, stellt Ihnen Konfigurationsfragen und aktualisiert die .env
Dateien mit Ihren Antworten.
Sie können Copier installieren mit:
pip install copier
Oder besser: Wenn Sie pipx
haben, können Sie es ausführen mit:
pipx install copier
Hinweis : Wenn Sie pipx
haben, ist die Installation von copier optional, Sie können es direkt ausführen.
Legen Sie einen Namen für das Verzeichnis Ihres neuen Projekts fest. Sie werden ihn unten verwenden. Zum Beispiel my-awesome-project
.
Gehen Sie in das Verzeichnis, das das übergeordnete Verzeichnis Ihres Projekts sein soll, und führen Sie den Befehl mit dem Namen Ihres Projekts aus:
copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Wenn Sie pipx
haben und copier
nicht installiert haben, können Sie es direkt ausführen:
pipx run copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Beachten Sie, dass die Option --trust
erforderlich ist, um ein Post-Creation-Skript ausführen zu können, das Ihre .env
Dateien aktualisiert.
Copier wird Sie nach einigen Daten fragen, die Sie möglicherweise zur Hand haben möchten, bevor Sie das Projekt erstellen.
Aber keine Sorge, Sie können alles anschließend einfach in den .env
Dateien aktualisieren.
Die Eingabevariablen mit ihren Standardwerten (einige automatisch generiert) sind:
project_name
: (Standard: "FastAPI Project"
) Der Name des Projekts, der API-Benutzern angezeigt wird (in .env).stack_name
: (Standard: "fastapi-project"
) Der Name des Stacks, der für Docker Compose-Beschriftungen und Projektnamen verwendet wird (keine Leerzeichen, keine Punkte) (in .env).secret_key
: (Standard: "changethis"
) Der geheime Schlüssel für das Projekt, der zur Sicherheit verwendet wird und in .env gespeichert ist. Sie können einen mit der oben genannten Methode generieren.first_superuser
: (Standard: "[email protected]"
) Die E-Mail des ersten Superusers (in .env).first_superuser_password
: (Standard: "changethis"
) Das Passwort des ersten Superusers (in .env).smtp_host
: (Standard: „“) Der SMTP-Server-Host zum Senden von E-Mails. Sie können ihn später in .env festlegen.smtp_user
: (Standard: „“) Der SMTP-Serverbenutzer zum Senden von E-Mails. Sie können ihn später in .env festlegen.smtp_password
: (Standard: „“) Das SMTP-Server-Passwort zum Senden von E-Mails. Sie können es später in .env festlegen.emails_from_email
: (Standard: "[email protected]"
) Das E-Mail-Konto, von dem E-Mails gesendet werden sollen. Sie können es später in .env festlegen.postgres_password
: (Standard: "changethis"
) Das Passwort für die PostgreSQL-Datenbank, gespeichert in .env, Sie können eines mit der oben genannten Methode generieren.sentry_dsn
: (Standard: „“) Der DSN für Sentry. Wenn Sie ihn verwenden, können Sie ihn später in .env festlegen. Backend-Dokumente: backend/README.md.
Frontend-Dokumente: frontend/README.md.
Bereitstellungsdokumente: „deployment.md“.
Allgemeine Entwicklungsdokumente: development.md.
Dazu gehört die Verwendung von Docker Compose, benutzerdefinierten lokalen Domänen, .env
-Konfigurationen usw.
Überprüfen Sie die Datei release-notes.md.
Die Full Stack FastAPI-Vorlage ist unter den Bedingungen der MIT-Lizenz lizenziert.