Skip to content

Web-Anwendung zur einfachen Erfassung von Geodaten, die auf Django (siehe @django) aufsetzt

License

Notifications You must be signed in to change notification settings

hippokratius/datenerfassung

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Datenerfassung

Web-Anwendung zur einfachen Erfassung von Geodaten, die auf Django aufsetzt

Voraussetzungen

Installation

  1. neue virtuelle Python-Umgebung erstellen via Virtualenv, zum Beispiel:

    virtualenv /srv/www/htdocs/datenerfassung/virtualenv
    
  2. Projekt klonen:

    git clone https://github.com/rostock/datenerfassung /srv/www/htdocs/datenerfassung/datenerfassung
    
  3. virtuelle Python-Umgebung aktivieren:

    source /srv/www/htdocs/datenerfassung/virtualenv/bin/activate
    
  4. benötigte Python-Module (unter anderem Django) installieren via pip:

    pip install -r /srv/www/htdocs/datenerfassung/datenerfassung/requirements.txt
    

Konfiguration

  1. Konfigurationsdatei /srv/www/htdocs/datenerfassung/datenerfassung/settings.py entsprechend anpassen

  2. weitere Konfigurationsdatei erstellen auf Basis der entsprechenden Vorlage:

    cp /srv/www/htdocs/datenerfassung/datenerfassung/secrets.template /srv/www/htdocs/datenerfassung/datenerfassung/secrets.py
    
  3. weitere Konfigurationsdatei /srv/www/htdocs/datenerfassung/datenerfassung/settings.py entsprechend anpassen

Initialisierung

  1. in PostgreSQL-Datenbank (mit den Erweiterungen PostGIS und uuid-ossp) Schema django für die Anwendungsadministration und Schema daten für die Datenbasis anlegen

  2. virtuelle Python-Umgebung aktivieren:

    source /srv/www/htdocs/datenerfassung/virtualenv/bin/activate
    
  3. Anwendungsadministration initialisieren:

    cd /srv/www/htdocs/datenerfassung/datenerfassung
    python manage.py migrate
    
  4. Administrator initialisieren:

    python manage.py createsuperuser
    
  5. Dateien-Upload-Verzeichnis erstellen (und dessen Besitzer sowie Gruppe entsprechend des genutzten HTTP-Servers anpassen – siehe unten):

    mkdir /srv/www/htdocs/datenerfassung/datenerfassung/uploads
    chown -R wwwrun:www /srv/www/htdocs/datenerfassung/datenerfassung/uploads
    
  6. Webseiten für Hilfe bauen:

    cd /srv/www/htdocs/datenerfassung/datenerfassung/hilfe
    mkdir source/_static
    make html
    
  7. JavaScript-Module via npm installieren:

    cd /srv/www/htdocs/datenerfassung/datenerfassung/assets
    npm install
    
  8. statische Dateien initialisieren:

    cd /srv/www/htdocs/datenerfassung/datenerfassung
    python manage.py collectstatic -c
    

Deployment (am Beispiel des Apache HTTP Servers)

Wenn das Deployment mittels Apache HTTP Server realisiert werden soll, muss dessen Modul mod_wsgi (für Python v3.x) installiert sein, das ein Web Server Gateway Interface (WSGI) für das Hosting von Python-Anwendungen zur Verfügung stellt.

Konfigurationsdatei des Apache HTTP Servers öffnen und in etwa folgenden Inhalt einfügen (in diesem Beispiel nutzt die virtuelle Python-Umgebung einen Python-Interpreter der Version 3.6):

    Alias               /datenerfassung/static /srv/www/htdocs/datenerfassung/datenerfassung/static
    Alias               /datenerfassung/uploads /srv/www/htdocs/datenerfassung/datenerfassung/uploads
    WSGIDaemonProcess   datenerfassung processes=2 threads=128 python-path=/srv/www/htdocs/datenerfassung/datenerfassung:/srv/www/htdocs/datenerfassung/virtualenv/lib/python3.6/site-packages
    WSGIProcessGroup    datenerfassung
    WSGIScriptAlias     /datenerfassung /srv/www/htdocs/datenerfassung/datenerfassung/datenerfassung/wsgi.py process-group=datenerfassung

    <Directory /srv/www/htdocs/datenerfassung/datenerfassung/datenerfassung>
      <Files wsgi.py>
          Order deny,allow
          Require all granted
      </Files>
    </Directory>
    <Directory /srv/www/htdocs/datenerfassung/datenerfassung/static>
      Order deny,allow
      Require all granted
    </Directory>
    <Directory /srv/www/htdocs/datenerfassung/datenerfassung/uploads>
      Order deny,allow
      Require all granted
    </Directory>

Entwicklung

Der Python-Quellcode ist nach der Stylekonvetion PEP8 verfasst. Für die Entwicklung wird ein Tool wie pycodestyle zur Überprüfung des Quellcodes gemäß PEP8 empfohlen.

Die Dokumentation wird mittels Docstrings in reStructuredText geschrieben und mit Sqhinx kompiliert.

About

Web-Anwendung zur einfachen Erfassung von Geodaten, die auf Django (siehe @django) aufsetzt

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 71.7%
  • HTML 19.4%
  • JavaScript 6.6%
  • CSS 1.3%
  • Makefile 1.0%