Raumopol Webhosting Logo

Informationsportal: News, Fragen & Antworten und Hilfe

Django-Projekte anlegen

Wir gehen im Folgenden davon aus, dass das Projekt "Beispiel" heißen soll.

  1. Öffnen Sie eine SSH-Verbindung zum Raumopol-SSH-Server.
  2. Begeben Sie sich in den Ordner ../public/.
  3. Erstellen Sie mit
    virtualenv beispiel_env
    eine virtuelle Python-Umgebung (Der Ordnername hier ist nur ein Beispiel und kann frei gewählt werden)
    Alternativ kann man hier auch eine bestimmte Python-Version auswählen, hier im Beispiel 3.3:
    virtualenv -p $(which python3.3) beispiel_env
  4. Wechseln Sie in den Ordner der Umgebung mit
    cd beispiel_env
  5. Aktivieren Sie die Umgebung mit
    . bin/activate
    Sie können die Umgebung jederzeit mit deactivate wieder verlassen.
  6. Installieren Sie die Pakete django, flup und pyinotify mit pip.
    Python 2.x
    pip install django flup pyinotify
    Python 3.x
    pip install django pyinotify https://github.com/Janno/flup-py3.3/archive/master.zip
  7. Erstellen Sie das Django-Projekt mit
    django-admin.py startproject beispiel
  8. Erstellen Sie im aktuellen Ordner, also z.B. beispiel_env, eine Datei "django.fcgi" mit folgendem Inhalt, wobei "beispiel" zu ersetzen ist mit dem tatsächlichen Projektnamen.

    #!bin/python
    import sys, os

    # Redirect stdout and stderr
    sys.stdout = open('django.log', 'a')
    sys.stderr = sys.stdout

    PROJECT_NAME="beispiel"

    # Add a custom Python path.
    sys.path.insert(0, "./%s" % PROJECT_NAME)

    # Set the DJANGO_SETTINGS_MODULE environment variable.
    os.environ['DJANGO_SETTINGS_MODULE'] = "%s.settings" % PROJECT_NAME

    from django.core.servers.fastcgi import runfastcgi
    # debug=True is used by the python fcgi package flup to display proper error messages
    runfastcgi(method="threaded", daemonize="false", maxspare=1, minspare=1, debug=True)

  9. WICHTIG: Geben Sie der Datei Ausführrechte für den Besitzer:
    chmod u+x django.fcgi
  10. Stellen Sie außerdem sicher, dass niemand sonst Schreibrechte für die Datei hat:
    chmod go-w django.fcgi
  11. Erstellen Sie in beispiel_env eine Datei ".htaccess" mit folgendem Inhalt, wobei "beispiel" wieder zu ersetzen ist mit dem tatsächlichen Projektnamen:

    RewriteEngine On

    RewriteRule ^((^|/)static/(css|js|img)/.*)$ beispiel/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !(^|/)django.fcgi
    RewriteCond %{REQUEST_FILENAME} !(^|/)beispiel/admin
    RewriteCond %{REQUEST_FILENAME} !(^|/)beispiel/static
    RewriteRule ^(.*)$ django.fcgi/$1 [QSA,L]

  12. Ändern Sie STATIC_URL in beispiel/beispiel/settings.py auf
    STATIC_URL = '/beispiel_env/beispiel/'
    Fügen Sie außerdem
    STATIC_ROOT = BASE_DIR
    hinzu.
  13. Führen Sie im Ordner beispiel_env/beispiel
    python manage.py collectstatic
    aus und bestätigen Sie die alle Anfragen.
  14. Führen Sie im Ordner beispiel_env/beispiel
    python manage.py syncdb
    aus. Das Script fragt Sie nun ob Sie einen Superuser erstellen wollen.
  15. Falls Sie einen Superuser erstellt haben, können Sie sich nun unter http://ihre-domain.tld/beispiel_env/admin einloggen.

Raumopol Technologie