Django
Ein mini Tutorial fuer nen Apache2/Debian Django...
Udemy Course: Python and Django Full Stack Web Developer Bootcamp
Gutes Intro: https://tecadmin.net/install-django-on-debian/
Deutsches gutes Intro: https://tutorial.djangogirls.org/de/django_start_project/
Python Config
Virtual Environment
pip3 install virtualenv
mkdir /path/to/myapp/venv
cd /path/to/myapp/venv/
virtualenv myprojectenv
source ~/myproject/myprojectenv/bin/activate
Django Installation
sudo apt-get install python3 python3-pip
python3 -V
Python 3.7.3
pip3 -V
pip 12.0.1 from /usr/lib/python3/dist-packages (python 3.7)
pip3 install Django
django-admin --version
2.1.2
cd /var/www
django-admin startproject django_app
cd django_app
python3 manage.py migrate
python3 manage.py createsuperuser
vi django_app/settings.py
ALLOWED_HOSTS = ['192.168.1.239']
python3 manage.py runserver 0.0.0.0:8000
http://192.168.1.239:8000/admin
Configure Static Files
vi django_app/settings.py
Fuege 2 Zeilen hinzu...
import os
und unter dem Static Verzeichnis:
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
Create new App
python manage.py startapp MyApp
cd MyApp
vi urls.py from django.urls import path
from django.urls import path
from . import views
urlpatterns = [
path("", views.index, name="index"),
]
Die folgende Datei ist zustaendig fuer die Projekt URLs. Hier soll nur ein include passieren, damit die URLs in der App gemanaged werden.
cd MyProject
vi urls.py
urlpatterns = [
path("MyApp/", include("MyApp.urls")),
path('admin/', admin.site.urls),
]
cd MyApp
vi view.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Halli Hallo Schwestern")
Django Errors
attempt to write a readonly database
Problem:
- Aufrufe der Seite die die Datenbank benutzen, wirft den Fehler "attempt to write a readonly database"
Lösung:
- die Datenbankdatei muss 664 als Rechtemaske haben
- das Verzeichnis muss dem Apache User und der Apache Gruppe gehören
- Die Datenbankdatei muss dem Apache User und der Apache Gruppe gehören