---
# System prepended metadata

title: Neues DRF-Projekt anlegen

---

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