Doc
This commit is contained in:
parent
f6af55f952
commit
1aa9df5f7f
5 changed files with 66 additions and 10 deletions
|
|
@ -24,20 +24,24 @@
|
||||||
\@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 {section}{\numberline {4}Template rendering}{13}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Variablen an ein Template \IeC {\"u}bergeben}{13}}
|
||||||
\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,
|
A9919588A6D91591D3CAA4F3001F345B47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
D608A7419D2E2B1B9DC8374CBF30931C47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
D608A7419D2E2B1B9DC8374CBF30931C47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
90BB626EF9CFA5AAE8FC387BE92CE4C047D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
90BB626EF9CFA5AAE8FC387BE92CE4C047D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
69FD008A06C526EA627001AB2D9375FA47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
B348860DA4CE0BC9507967FD35D8F1EA47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
C16B4A697A35E1BE87FC42461038F02647D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
477C16590DB512BBD87ADB12359B39BB47D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
CF41293164F73EA799796EA930DC2D8047D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
CF41293164F73EA799796EA930DC2D8047D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
A055FD522A0AEB526BEA0D243A3FBE3647D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
A055FD522A0AEB526BEA0D243A3FBE3647D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
AFBBA6C854D3F40D46E4B39281586D0347D599A9433F896BEC25BBDC7D4D3BE9.pygtex}
|
AFBBA6C854D3F40D46E4B39281586D0347D599A9433F896BEC25BBDC7D4D3BE9.pygtex,
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}View}{13}}
|
357F88DDBB0C7756F8AB5E672939127047D599A9433F896BEC25BBDC7D4D3BE9.pygtex}
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Template rendering}{13}}
|
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}''Django template language''}{14}}
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{13}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}Ein Beispiel}{14}}
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{13}}
|
\@writefile{toc}{\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{14}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{14}}
|
||||||
|
|
|
||||||
BIN
doc/Django.pdf
BIN
doc/Django.pdf
Binary file not shown.
Binary file not shown.
|
|
@ -8,6 +8,7 @@
|
||||||
\usepackage{minted}
|
\usepackage{minted}
|
||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
\usepackage[hyphens]{url}
|
\usepackage[hyphens]{url}
|
||||||
|
\usepackage{listings}
|
||||||
|
|
||||||
\pagestyle{fancy}
|
\pagestyle{fancy}
|
||||||
|
|
||||||
|
|
@ -19,6 +20,23 @@
|
||||||
\author{Clemens Dautermann}
|
\author{Clemens Dautermann}
|
||||||
\date{2. Januar 2019 bis \today}
|
\date{2. Januar 2019 bis \today}
|
||||||
|
|
||||||
|
\lstset{literate=
|
||||||
|
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
|
||||||
|
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
|
||||||
|
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
|
||||||
|
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
|
||||||
|
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
|
||||||
|
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
|
||||||
|
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
|
||||||
|
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
|
||||||
|
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1
|
||||||
|
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
|
||||||
|
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
|
||||||
|
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
|
||||||
|
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
|
||||||
|
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
|
||||||
|
}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
@ -277,6 +295,37 @@ Dies liegt daran, dass in der ''path()'' Funktion kein ''include()'' Statement m
|
||||||
\subsection{View}
|
\subsection{View}
|
||||||
Im sogenannten View wird findet die eigentliche Programmlogik statt. Hier werden Daten an die ''render()'' Funktion übergeben, die das gerenderte HTML Template zurück gibt. Diese Daten können beispielsweise aus einem Formular stammen oder von der Datenbank abgefragt sein. Hier werden auch POST Anfragen bearbeitet.
|
Im sogenannten View wird findet die eigentliche Programmlogik statt. Hier werden Daten an die ''render()'' Funktion übergeben, die das gerenderte HTML Template zurück gibt. Diese Daten können beispielsweise aus einem Formular stammen oder von der Datenbank abgefragt sein. Hier werden auch POST Anfragen bearbeitet.
|
||||||
\section{Template rendering}
|
\section{Template rendering}
|
||||||
|
Ein weiterer zentraler Aspekt des Django Frameworks ist das sogenannte ''Template rendering''. Es ermöglicht Variabln und dynamische Inhalte in das HTML Dokument einzubinden.
|
||||||
|
\subsection{Variablen an ein Template übergeben}
|
||||||
|
Um Variablen an das Template weiterzugeben wird im entsprechenden view als dritte Variable ein Dictionary übergeben. Auf die Werte in diesem Dictionary cann jetzt innerhalb des Templates beim rendern zugegriffen werden.
|
||||||
|
\begin{minted}[linenos, frame=lines, framesep=2mm]{Python}
|
||||||
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
def mainview(request):
|
||||||
|
context = {'a': 'b', 'beispiel': True, 'liste': range(10)}
|
||||||
|
return render(request, 'exampleapp/index.html', context)
|
||||||
|
\end{minted}
|
||||||
|
In diesem Beispiel wird context = {'a': 'b', 'beispiel': True, 'liste': range(10)} als Kontextdictionary übergeben. Das heißt innerhalb des HTML Templates kann auf die Variablen ''a'', ''beispiel'' und ''liste'' zugegriffen werden.
|
||||||
|
\subsection{''Django template language''}
|
||||||
|
In django existiert eine kleine eigene Skriptsprache, die ''django template language''. Mit ihrer Hilfe kann in Templates auf den übergebenen Kontext eingegangen werden. Sie enthält if-Abfragen, for-Schleifen und vieles mehr, kann aber auch einfach Variablen einbinden.
|
||||||
|
\subsubsection{Ein Beispiel}
|
||||||
|
Im folgenden Beispiel wird eine Liste namens ''Items'' übergeben. Es soll erst überprüft werden ob diese wirklich übergeben worden ist, und dann jedes Element ausgegeben werden. Der $<$head$>$ tag wurde im Beispiel weggelassen, da er für diese Demonstration irrelevant ist.
|
||||||
|
\begin{lstlisting}[language=html]
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
{% if Items is not None %}
|
||||||
|
<ul>
|
||||||
|
{% for item in items %}
|
||||||
|
<li>{{item.name}}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<p>Es wurde keine Liste übergeben</p>
|
||||||
|
{% endif %}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
\section{Den Inventarisierungsserver einrichten}
|
\section{Den Inventarisierungsserver einrichten}
|
||||||
\section{Erklärung der Benutzeroberfläche}
|
\section{Erklärung der Benutzeroberfläche}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,5 +22,8 @@
|
||||||
\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}{13}
|
||||||
\contentsline {section}{\numberline {4}Template rendering}{13}
|
\contentsline {section}{\numberline {4}Template rendering}{13}
|
||||||
\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{13}
|
\contentsline {subsection}{\numberline {4.1}Variablen an ein Template \IeC {\"u}bergeben}{13}
|
||||||
\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{13}
|
\contentsline {subsection}{\numberline {4.2}''Django template language''}{14}
|
||||||
|
\contentsline {subsubsection}{\numberline {4.2.1}Ein Beispiel}{14}
|
||||||
|
\contentsline {section}{\numberline {5}Den Inventarisierungsserver einrichten}{14}
|
||||||
|
\contentsline {section}{\numberline {6}Erkl\IeC {\"a}rung der Benutzeroberfl\IeC {\"a}che}{14}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue