---
# System prepended metadata

title: Neues Django-Projekt anlegen

---

# 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
```