**Neues DRF-Projekt anlegen** **1. Neuen Ordner erstellen** Erstelle einen neuen Ordner mit dem gewünschten Projektnamen, z. B.: ```sh mkdir ProjektName cd ProjektName ``` **2. Virtuelle Umgebung einrichten** Erstelle eine virtuelle Umgebung und aktiviere sie: ```sh python -m venv .venv .venv/Scripts/activate # Windows source .venv/bin/activate # macOS/Linux ``` > *Hinweis:* Bei mac muss man ggf. python3 schreiben anstatt nur python. **3. Django und DRF installieren** Installiere Django und das Django REST Framework: ```sh python -m pip install Django pip install djangorestframework pip freeze # Überprüfen, ob alles installiert wurde pip freeze > requirements.txt # Abhängigkeiten speichern ``` **4. Django-Projekt erstellen** Erstelle das Django-Projekt mit dem Namen "core": ```sh django-admin startproject core . ``` **5. `.gitignore` hinzufügen und Projekt pushen** - `.gitignore` aus anderen Projekten übernehmen (z. B. von [GitHub](https://github.com/github/gitignore/blob/main/Python.gitignore) oder [gitignore.io](https://www.toptal.com/developers/gitignore)). - Erst nach dem Hinzufügen zur `.gitignore` das Projekt auf Git pushen! **6. Django-App erstellen** Lege eine neue App an (z. B. `market_app`): ```sh python manage.py startapp market_app ``` > **Tipp:** Überlege vorab, wie viele Apps benötigt werden. Es können später weitere hinzugefügt werden. **7. Apps in `settings.py` registrieren** - Öffne `settings.py` im `core`-Ordner und ergänze `INSTALLED_APPS`: ```python INSTALLED_APPS = [ ... 'rest_framework', 'market_app', ] ``` **8. Modelle erstellen und migrieren** - Öffne `models.py` in `market_app` und definiere eigene Modelle, z. B.: ```python from django.db import models class Contact(models.Model): name = models.CharField(max_length=255) email = models.EmailField() ``` - Danach die Migrationen durchführen: ```sh python manage.py makemigrations python manage.py migrate ``` **9. Projektverlauf dokumentieren** - Änderungen regelmäßig committen und pushen. >Hinweis: Denke daran, deine requirements.txt vor einer Abgabe nochmal mit dem Stand des Projekt zu "füllen". ```sh pip freeze > requirements.txt # Abhängigkeiten speichern ```