# Neues Django-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" kann auch "venv" oder "env" heißen .venv/Scripts/activate # Windows source .venv/bin/activate # macOS/Linux ``` > *Hinweis:* Bei mac muss man ggf. python3 schreiben anstatt nur python. **3. Django installieren** Installiere Django: ```sh python -m pip install Django 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 = [ ... 'market_app', ] ``` - Falls mit externem Frontend gearbeitet wird, corsheaders installieren mit `python -m pip install django-cors-headers` und in den installed_apps `corsheaders` hinzufügen und bei `MIDDLEWARE` `corsheaders.middleware.CorsMiddleware` hinzufügen. - CORS_ALLOWED_ORIGINS = [] hinzufügen mit den jeweiligen path z.b. `http://127.0.0.1:5500` oder `http://localhost:5500` - Solltest du in CSRF Probleme kommen kommentiere folgende Zeile in der `MIDDLEWARE` aus um den Schutz zu deaktivieren: `django.middleware.csrf.CsrfViewMiddleware` > HINWEIS: Oder setze Token-Cookies im Production Modus incl. CSRF_TRUSTED_ORIGINS (wird später durch DRF obsolet) **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 ```