This commit is contained in:
Clemens-Dautermann 2019-02-08 15:23:36 +01:00
parent 0fab1ffd65
commit cbb3a1de2a
5 changed files with 41 additions and 24 deletions

View file

@ -24,16 +24,21 @@
\@writefile{toc}{\contentsline {section}{\numberline {3}Routing in Django}{11}} \@writefile{toc}{\contentsline {section}{\numberline {3}Routing in Django}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Root Url Config}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Root Url Config}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Weitere Url Konfigurationsdateien}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Weitere Url Konfigurationsdateien}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}View}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3}View}{12}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Template rendering}{13}} \@writefile{toc}{\contentsline {section}{\numberline {4}Template rendering}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Variablen an ein Template \IeC {\"u}bergeben}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Variablen an ein Template \IeC {\"u}bergeben}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}''Django template language''}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2}''Django template language''}{13}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}Ein Beispiel}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Rendering}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Installation}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Einen Datenbankbenutzer erstellen}{14}}
\gdef\minted@oldcachelist{, \gdef\minted@oldcachelist{,
default-pyg-prefix.pygstyle, default-pyg-prefix.pygstyle,
default.pygstyle, default.pygstyle,
1EF5F198DB11D884A8F3F8166C390F5847D599A9433F896BEC25BBDC7D4D3BE9.pygtex, 1EF5F198DB11D884A8F3F8166C390F5847D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
20EC931F8490D378180FA3F951C421E447D599A9433F896BEC25BBDC7D4D3BE9.pygtex, 20EC931F8490D378180FA3F951C421E447D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
C979C1D44B204897A3DDD0DB9A0A5E7147D599A9433F896BEC25BBDC7D4D3BE9.pygtex, 5770449406E4DFB7D8B93FAA99C416B947D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
D608A7419D2E2B1B9DC8374CBF30931C47D599A9433F896BEC25BBDC7D4D3BE9.pygtex, D608A7419D2E2B1B9DC8374CBF30931C47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
90BB626EF9CFA5AAE8FC387BE92CE4C047D599A9433F896BEC25BBDC7D4D3BE9.pygtex, 90BB626EF9CFA5AAE8FC387BE92CE4C047D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
69FD008A06C526EA627001AB2D9375FA47D599A9433F896BEC25BBDC7D4D3BE9.pygtex, 69FD008A06C526EA627001AB2D9375FA47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
@ -42,8 +47,4 @@
A055FD522A0AEB526BEA0D243A3FBE3647D599A9433F896BEC25BBDC7D4D3BE9.pygtex, A055FD522A0AEB526BEA0D243A3FBE3647D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
AFBBA6C854D3F40D46E4B39281586D0347D599A9433F896BEC25BBDC7D4D3BE9.pygtex, AFBBA6C854D3F40D46E4B39281586D0347D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
357F88DDBB0C7756F8AB5E672939127047D599A9433F896BEC25BBDC7D4D3BE9.pygtex} 357F88DDBB0C7756F8AB5E672939127047D599A9433F896BEC25BBDC7D4D3BE9.pygtex}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}Ein Beispiel}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Rendering}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Installation}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{15}} \@writefile{toc}{\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{15}}

Binary file not shown.

Binary file not shown.

View file

@ -9,6 +9,7 @@
\usepackage{graphicx} \usepackage{graphicx}
\usepackage[hyphens]{url} \usepackage[hyphens]{url}
\usepackage{listings} \usepackage{listings}
\usepackage{booktabs}
\pagestyle{fancy} \pagestyle{fancy}
@ -116,18 +117,18 @@ In dieser Datei befinden sich die Einstellungen für den Django Server. Mit ihre
\subsubsection{urls.py} \subsubsection{urls.py}
Diese Datei ist der erste und wichtigste Teil des Django Routing Systems. Über sie werden die grundlegenden URL Strukturen des Servers definiert. Sie importiert urls.py Dateien aus anderen Apps und definiert wie auf eine Bestimmte URL reagiert werden soll. Im Falle dieses Projektes sieht sie folgendermaßen aus: Diese Datei ist der erste und wichtigste Teil des Django Routing Systems. Über sie werden die grundlegenden URL Strukturen des Servers definiert. Sie importiert urls.py Dateien aus anderen Apps und definiert wie auf eine Bestimmte URL reagiert werden soll. Im Falle dieses Projektes sieht sie folgendermaßen aus:
\begin{minted}[linenos,numbersep=5pt,frame=none,framesep=1mm]{Python} \begin{minted}[linenos,numbersep=5pt,frame=none,framesep=2mm]{Python}
from django.contrib import admin from django.contrib import admin
from django.urls import path, include from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')), path('accounts/', include('django.contrib.auth.urls')),
path('', include('user_manager.urls')), path('', include('user_manager.urls')),
path('add/', include('object_adder.urls')), path('add/', include('object_adder.urls')),
path('list/', include('object_lister.urls')), path('list/', include('object_lister.urls')),
path('settings/', include('settings_app.urls')), path('settings/', include('settings_app.urls')),
] ]
\end{minted} \end{minted}
Hier werden zuerst Pakete für das admin-Interface und Pakete für das URL-Routing importiert. Anschließend wird eine Liste urlpatterns definiert. Diese enthält alle URL Pfade. include() Importiert dabei die urls.py Dateien aus den anderen apps. Hier werden zuerst Pakete für das admin-Interface und Pakete für das URL-Routing importiert. Anschließend wird eine Liste urlpatterns definiert. Diese enthält alle URL Pfade. include() Importiert dabei die urls.py Dateien aus den anderen apps.
@ -282,7 +283,7 @@ path('settings/', include('settings_app.urls')),
Die Kommentare werden beim Erstellen des Projektes automatisch generiert. Diese Datei erzeugt also sechs URL Pfade. Alle Pfade bis auf den ''/admin'' Pfad zeigen hier auf die urls.py Datei einer anderen App. Dies wird mit dem ''include()'' Statement erreicht. Die ''/admin'' Url wird mit hilfe des Admin Paketes gehandhabt, dass automatisch ein Admin Interface zur Datenbankverwaltung erzeugt. Die Kommentare werden beim Erstellen des Projektes automatisch generiert. Diese Datei erzeugt also sechs URL Pfade. Alle Pfade bis auf den ''/admin'' Pfad zeigen hier auf die urls.py Datei einer anderen App. Dies wird mit dem ''include()'' Statement erreicht. Die ''/admin'' Url wird mit hilfe des Admin Paketes gehandhabt, dass automatisch ein Admin Interface zur Datenbankverwaltung erzeugt.
\subsection{Weitere Url Konfigurationsdateien} \subsection{Weitere Url Konfigurationsdateien}
Mithilfe der ''include()'' Statements kann die Anfrage jetzt theoretisch durch eine unbegrenzte Zahl von urls.py Dateien geleitet werden. In diesem Beispiel wird in der settings\_app.urls jedoch direkt der sogenannte ''View'' zurück gegeben. Mithilfe der ''include()'' Statements kann die Anfrage jetzt theoretisch durch eine unbegrenzte Zahl von urls.py Dateien geleitet werden. In diesem Beispiel wird in der settings\_app.urls jedoch direkt der sogenannte ''View'' zurück gegeben.
\newpage
\begin{minted}[linenos, frame=lines, framesep=2mm]{Python} \begin{minted}[linenos, frame=lines, framesep=2mm]{Python}
from django.urls import path from django.urls import path
from . import views from . import views
@ -334,9 +335,23 @@ Der Inventarisierungsserver basiert auf einem Virutualisierungssystem namens Doc
\begin{enumerate} \begin{enumerate}
\item Installieren sie Docker und Docker compose. Sie sind auf\newline \url{https://www.docker.com/get-started} und\newline \url{https://docs.docker.com/compose/install/}\newline verfügbar. Dort ist auch der Installationsvorgang genauer beschrieben. \item Installieren sie Docker und Docker compose. Sie sind auf\newline \url{https://www.docker.com/get-started} und\newline \url{https://docs.docker.com/compose/install/}\newline verfügbar. Dort ist auch der Installationsvorgang genauer beschrieben.
\item Clonen sie das GitHub Repository von\newline \url{git@github.com:Clemens-Dautermann/Inventarium.git} \item Clonen sie das GitHub Repository von\newline \url{git@github.com:Clemens-Dautermann/Inventarium.git}
\item Entpacken sie das Repository und öffnen sie ein Terminal im entpackten Ordner, wo sich die Datei ''docker-compose.yml'' befindet.
\item Führen sie den Befehl ''docker-compose up'' aus. Dieser wird automatisch Container für eine PostgresSQL Datenbank und den Inventarisierungsserver herunterladen und konfigurieren. Die Ausführung dieses Befehls kann einige Zeit dauern und benötigt eine aktive Internetverbindung sowie einiges an Festplattenspeicherplatz
\item Sie müssen jetzt einen Datenbankbenutzer erstellen
\end{enumerate} \end{enumerate}
\subsection{Einen Datenbankbenutzer erstellen}
Aus Sicherheitsgründen ist das gesamte Webinterface des Servers passwortgeschützt. Das heißt, es wird ein Nutzerkonto benötigt um auf dieses zugreifen zu können. Da aber noch kein Benutzer existiert um überhaupt auf die Datenbank zuzugreifen und weitere Nutzer zu erstellen, muss direkt an der Datenbank ein Nutzer erstellt werden. Dies tun sie folgendermaßen:
\begin{enumerate}
\item Führen sie den Befehl ''docker ps'' aus während der Server läuft. Die Ausgabe sollte etwa folgendermaßen aussehen:\newline
\begin{tabular}{@{}lllll@{}}
\toprule
CONTAINER ID & IMAGE & COMMAND & CREATED & STATUS \\ \midrule
f1b377c3700f & invsystem\_web & "python3 manage.py r…" & 1 minute ago & Up 1 minute \\
1289f9bcdd04 & postgres & "docker-entrypoint.s…" & 1 minute ago & Up 1 minute \\ \bottomrule
\end{tabular}
\item Kopieren sie die CONTAINER ID von invsystem\_web und führen sie den Befehl ''docker exec -i -t $<$CONTAINER ID$>$ /bin/bash'' aus. Dieser öffnet eine Shell im Container des Servers.
\end{enumerate}
\section{Erklärung der Benutzeroberfläche} \section{Erklärung der Benutzeroberfläche}

View file

@ -20,12 +20,13 @@
\contentsline {section}{\numberline {3}Routing in Django}{11} \contentsline {section}{\numberline {3}Routing in Django}{11}
\contentsline {subsection}{\numberline {3.1}Root Url Config}{11} \contentsline {subsection}{\numberline {3.1}Root Url Config}{11}
\contentsline {subsection}{\numberline {3.2}Weitere Url Konfigurationsdateien}{12} \contentsline {subsection}{\numberline {3.2}Weitere Url Konfigurationsdateien}{12}
\contentsline {subsection}{\numberline {3.3}View}{13} \contentsline {subsection}{\numberline {3.3}View}{12}
\contentsline {section}{\numberline {4}Template rendering}{13} \contentsline {section}{\numberline {4}Template rendering}{12}
\contentsline {subsection}{\numberline {4.1}Variablen an ein Template \IeC {\"u}bergeben}{13} \contentsline {subsection}{\numberline {4.1}Variablen an ein Template \IeC {\"u}bergeben}{13}
\contentsline {subsection}{\numberline {4.2}''Django template language''}{13} \contentsline {subsection}{\numberline {4.2}''Django template language''}{13}
\contentsline {subsubsection}{\numberline {4.2.1}Ein Beispiel}{14} \contentsline {subsubsection}{\numberline {4.2.1}Ein Beispiel}{13}
\contentsline {subsection}{\numberline {4.3}Rendering}{14} \contentsline {subsection}{\numberline {4.3}Rendering}{14}
\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{14} \contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{14}
\contentsline {subsection}{\numberline {5.1}Installation}{14} \contentsline {subsection}{\numberline {5.1}Installation}{14}
\contentsline {subsection}{\numberline {5.2}Einen Datenbankbenutzer erstellen}{14}
\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{15} \contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{15}