This commit is contained in:
Clemens-Dautermann 2019-02-03 12:41:21 +01:00
parent 3cb1dc79e7
commit f6af55f952
5 changed files with 32 additions and 16 deletions

View file

@ -20,10 +20,10 @@
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.4}models.py}{9}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.5}tests.py}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.6}views.py}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.7}migrations}{10}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Routing in Django}{10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Root Url Config}{10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Weitere Url Konfigurationsdateien}{11}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.7}migrations}{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.2}Weitere Url Konfigurationsdateien}{12}}
\gdef\minted@oldcachelist{,
default-pyg-prefix.pygstyle,
default.pygstyle,
@ -34,9 +34,10 @@
90BB626EF9CFA5AAE8FC387BE92CE4C047D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
69FD008A06C526EA627001AB2D9375FA47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
C16B4A697A35E1BE87FC42461038F02647D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
CF41293164F73EA799796EA930DC2D8047D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
A055FD522A0AEB526BEA0D243A3FBE3647D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
AFBBA6C854D3F40D46E4B39281586D0347D599A9433F896BEC25BBDC7D4D3BE9.pygtex}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}View}{12}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Template rendering}{12}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{12}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}View}{13}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Template rendering}{13}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{13}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{13}}

Binary file not shown.

Binary file not shown.

View file

@ -7,6 +7,7 @@
\usepackage{float}
\usepackage{minted}
\usepackage{graphicx}
\usepackage[hyphens]{url}
\pagestyle{fancy}
@ -208,8 +209,22 @@ In dieser Datei wird ein Model definiert. Es heißt ''Category'' und hat zwei Ei
der Aufruf ''categories = models.Manager()'' ist notwendig um via ''categories = Category.categories.all()'' alle Kategorien auf einmal als Liste abfragen zu können.\newline
''def \_\_str\_\_(self):'' ist eine sogenannte ''magic method'' in Python. Sie ermöglicht es anzugeben, wie das Objekt als String repräsentiert werden soll. Wenn also ''print(category)'' aufgerufen wird, wird aufgrund dieser Methode an stelle des primary Keys, der UUID, der Name ausgegeben.
\subsubsection{tests.py}
Django weist ein umfangreiches System zur Unterstützung von testgetriebener Entwicklung auf. Dieses Testsystem basiert auf dem ''unittest'' Pythonmodul. Die tests.py ist die Datei, in der die Tests für diese App geschrieben werden sollen
\footnote{Writing and running tests Django Dokumentation \newline https://docs.djangoproject.com/en/2.1/topics/testing/overview/}.
Mit Hilfe der Tests können beispielsweise Methoden von Models getestet werden oder es kann überprüft werden, ob das richtige Template mit dem richtigen Kontext gerendert wird.
\subsubsection{views.py}
Diese Datei enthält alle ''views''. Ein View ist eine Methode, die auf die Anfrage des Nutzers reagiert, alle nötigen Berechnungen tätigt und letztendlich das gerenderte Template zurück gibt. Ein View muss immer ein Objekt des Typen ''HttpResponse'' oder einer seiner Subklassen zurück geben. Ein einfacher View kann zum Beispiel folgendermaßen aussehen:
\begin{minted}[linenos, frame=lines, framesep=2mm]{Python}
from django.shortcuts import render
def mainview(request):
context = {'a': 'b', 'beispiel': True}
return render(request, 'exampleapp/index.html', context)
\end{minted}
Die ''context'' Varieble, wird von der render() Methode genutzt um Variablen im Template zu rendern. Die Werte im context können beispielsweise aus der Datenbank abgefragt werden.
\subsubsection{migrations}
Dieser Ordner enthält Dateien, die durch den makemigrations Befehl erstellt wurden. Sie geben an, ob und wie die Models verändert wurden. Man muss diese Dateien in der Regel als Entwickler nicht selber bearbeiten.
\section{Routing in Django}

View file

@ -16,11 +16,11 @@
\contentsline {subsubsection}{\numberline {2.5.4}models.py}{9}
\contentsline {subsubsection}{\numberline {2.5.5}tests.py}{10}
\contentsline {subsubsection}{\numberline {2.5.6}views.py}{10}
\contentsline {subsubsection}{\numberline {2.5.7}migrations}{10}
\contentsline {section}{\numberline {3}Routing in Django}{10}
\contentsline {subsection}{\numberline {3.1}Root Url Config}{10}
\contentsline {subsection}{\numberline {3.2}Weitere Url Konfigurationsdateien}{11}
\contentsline {subsection}{\numberline {3.3}View}{12}
\contentsline {section}{\numberline {4}Template rendering}{12}
\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{12}
\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{12}
\contentsline {subsubsection}{\numberline {2.5.7}migrations}{11}
\contentsline {section}{\numberline {3}Routing in Django}{11}
\contentsline {subsection}{\numberline {3.1}Root Url Config}{11}
\contentsline {subsection}{\numberline {3.2}Weitere Url Konfigurationsdateien}{12}
\contentsline {subsection}{\numberline {3.3}View}{13}
\contentsline {section}{\numberline {4}Template rendering}{13}
\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{13}
\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{13}