Zum Inhalt

Umgebung innerhalb eines virtualenv einrichten

Hier verwende ich als Projektnamem und Ordnername nftwall.

mkdir nftwall
cd nftwall
virtualenv -p python .
source bin/activate
pip install django
mkdir src
cd src
django-admin startproject nftwall .

Man kann nun den das Projekt testweise starten:

python manage.py runserver

In nftwall/settings.py den DNS Namen eintragen, über den man im Browser auf den Service zugreift:

ALLOWED_HOSTS = ['host1.mydomain.de']

Synchronisieren der Einstellungen mit dem Projekt.

python manage.py migrate

Änderung der listening IP und des Hostnamen über den auf den Dienst zugegriffen werden darf.

python manage.py runserver [::]:8000

Einen neue superuser anlegen

python manage.py createsuperuser

Erste App anlegen

Im Projekt root

python manage.py startapp products

Im Unterordner products die Datei models.py bearbeiten

class Product(models.Model):
title = models.TextField()
description = models.TextField()
price = models.TextField()
summary = models.TextField()

Im gleichen Ordner die Datei admin.py füllen (relativer Import)

from .models import Product
admin.site.register(Product)

In der settings.py die App hinzufügen

INSTALLED_APPS = [
[...]
'products',a
[...]
]

Nach jeder Änderung an der models.py muss man makemigrations und migrate laufen lassen.

python manage.py makemigrations
python manage.py migrate

Man kann auch Datensätze anlegen, indem man die django Kommandozeile benutzt.

python3 manage.py shell
from products.models import Product
Product.objects.create(title="test2", description="wasauchimmer", price="1234", summary="sweet")

Nun machen wir einige Anpassungen und löschen erstmal Dateien:

  • Dateien im Migrations Ordner
  • pycache Ordner löschen
  • sqlite db löschen

Nun wieder in die models.py