diff --git a/doc/Django.aux b/doc/Django.aux index 7761ba9..75bfec3 100644 --- a/doc/Django.aux +++ b/doc/Django.aux @@ -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}} diff --git a/doc/Django.pdf b/doc/Django.pdf index 50bc5b3..83469d6 100644 Binary files a/doc/Django.pdf and b/doc/Django.pdf differ diff --git a/doc/Django.synctex.gz b/doc/Django.synctex.gz index 4cddbf2..249e6d4 100644 Binary files a/doc/Django.synctex.gz and b/doc/Django.synctex.gz differ diff --git a/doc/Django.tex b/doc/Django.tex index 49fe086..b689dd8 100644 --- a/doc/Django.tex +++ b/doc/Django.tex @@ -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} diff --git a/doc/Django.toc b/doc/Django.toc index 3170fdf..19bb250 100644 --- a/doc/Django.toc +++ b/doc/Django.toc @@ -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}