@@ -46,7 +46,7 @@ | |||
\bibcite{King}{{Kin17}{}{{}}{{}}} | |||
\bibcite{Leipner}{{Lei13}{}{{}}{{}}} | |||
\bibcite{Microsoft}{{Mic18}{}{{}}{{}}} | |||
\@writefile{toc}{\contentsline {chapter}{Referenzen}{19}{chapter*.13}} | |||
\@writefile{toc}{\contentsline {chapter}{Referenzen}{20}{chapter*.14}} | |||
\bibcite{Ndukwe}{{Ndu17}{}{{}}{{}}} | |||
\bibcite{Ong}{{Ong18}{}{{}}{{}}} | |||
\bibcite{Otto}{{Ott11}{}{{}}{{}}} |
@@ -11,5 +11,6 @@ | |||
\addvspace {10\p@ } | |||
\contentsline {figure}{\numberline {3.1}{\ignorespaces Forschungsdesign\relax }}{13}{figure.caption.11} | |||
\contentsline {figure}{\numberline {3.2}{\ignorespaces CustomUserModel in models.py\relax }}{15}{figure.caption.12} | |||
\contentsline {figure}{\numberline {3.3}{\ignorespaces Forschungsdesign\relax }}{16}{figure.caption.13} | |||
\addvspace {10\p@ } | |||
\addvspace {10\p@ } |
@@ -1,4 +1,4 @@ | |||
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex 2018.6.7) 7 NOV 2018 19:35 | |||
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex 2018.6.7) 8 NOV 2018 19:45 | |||
entering extended mode | |||
\write18 enabled. | |||
file:line:error style messages enabled. | |||
@@ -1495,95 +1495,110 @@ Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 27. | |||
[13] | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 33. | |||
(babel) in language on input line 31. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 33. | |||
(babel) in language on input line 31. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 33. | |||
(babel) in language on input line 31. | |||
File: figures/custommodelcode.png Graphic file (type bmp) | |||
<figures/custommodelcode.png> | |||
LaTeX Warning: `!h' float specifier changed to `!ht'. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 66. | |||
(babel) in language on input line 59. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 66. | |||
(babel) in language on input line 59. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 66. | |||
(babel) in language on input line 59. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 66. | |||
(babel) in language on input line 59. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 66. | |||
(babel) in language on input line 59. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 66. | |||
[14] | |||
(babel) in language on input line 59. | |||
[14] | |||
File: figures/datamodel.png Graphic file (type bmp) | |||
<figures/datamodel.png> | |||
LaTeX Warning: `!h' float specifier changed to `!ht'. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 81. | |||
(babel) in language on input line 86. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 81. | |||
(babel) in language on input line 86. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 81. | |||
(babel) in language on input line 86. | |||
Overfull \hbox (9.91238pt too wide) in paragraph at lines 84--85 | |||
Overfull \hbox (9.91238pt too wide) in paragraph at lines 89--90 | |||
[]\T1/aer/m/n/12 Ein Django-Projekt bil-det be-reits beim Ein-rich-ten, \T1/aer/m/it/12 per De-fault\T1/aer/m/n/12 , ei-ne Administrator- | |||
[] | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 87. | |||
(babel) in language on input line 90. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 87. | |||
(babel) in language on input line 90. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 87. | |||
(babel) in language on input line 90. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 90. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 90. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 90. | |||
[15] | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 92. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 92. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 91. | |||
[15] | |||
(babel) in language on input line 92. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 91. | |||
(babel) in language on input line 96. | |||
[16] | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 94. | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 94. | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 94. | |||
(babel) in language on input line 96. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 99. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 99. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 99. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 104. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 104. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 104. | |||
Overfull \hbox (1.12642pt too wide) in paragraph at lines 100--101 | |||
Overfull \hbox (1.12642pt too wide) in paragraph at lines 105--106 | |||
\T1/aer/m/n/12 Tags als ein-ge-logg-ter User abon-nie-ren und ver-wal-ten Front-end und Admin-Backend? | |||
[] | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 102. | |||
(babel) in language on input line 107. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 102. | |||
(babel) in language on input line 107. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 102. | |||
(babel) in language on input line 107. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 105. | |||
(babel) in language on input line 110. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 105. | |||
(babel) in language on input line 110. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 105. | |||
(babel) in language on input line 110. | |||
) | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 59. | |||
@@ -1597,7 +1612,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 59. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 59. | |||
[16] | |||
[17] | |||
\openout2 = `chapters/ergebnis.aux'. | |||
(./chapters/ergebnis.tex | |||
@@ -1631,7 +1646,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 60. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 60. | |||
[17 | |||
[18 | |||
@@ -1663,7 +1678,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 62. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 62. | |||
[18 | |||
[19 | |||
@@ -1713,7 +1728,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 75. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 75. | |||
[19 | |||
[20 | |||
@@ -1773,7 +1788,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 77. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 77. | |||
[20] | |||
[21] | |||
Package atveryend Info: Empty hook `AfterLastShipout' on input line 77. | |||
(/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/bachelorabeit_EstherKleinhenz.aux (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/titlepage/titlepage.aux) (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/abstract/abstract.aux) (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/chapters/einleitung.aux) (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/chapters/framework.aux) (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/chapters/prototyp.aux) (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/chapters/ergebnis.aux) (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/chapters/ausblick.aux) (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/chapters/fazit.aux)) | |||
Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 77. | |||
@@ -1788,12 +1803,12 @@ Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 77. | |||
) | |||
(\end occurred when \ifnum on line 5 was incomplete) | |||
Here is how much of TeX's memory you used: | |||
26605 strings out of 492970 | |||
477215 string characters out of 6133939 | |||
26609 strings out of 492970 | |||
477304 string characters out of 6133939 | |||
547158 words of memory out of 5000000 | |||
30216 multiletter control sequences out of 15000+600000 | |||
30219 multiletter control sequences out of 15000+600000 | |||
555998 words of font info for 62 fonts, out of 8000000 for 9000 | |||
1348 hyphenation exceptions out of 8191 | |||
58i,12n,50p,10437b,943s stack positions out of 5000i,500n,10000p,200000b,80000s | |||
Output written on /Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/bachelorabeit_EstherKleinhenz.pdf (25 pages). | |||
Output written on /Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/bachelorabeit_EstherKleinhenz.pdf (26 pages). |
@@ -27,4 +27,4 @@ | |||
\BOOKMARK [0][-]{chapter.4}{Ergebnis}{}% 27 | |||
\BOOKMARK [1][-]{subsection.4.0.1}{Evaluierung}{chapter.4}% 28 | |||
\BOOKMARK [0][-]{chapter.5}{Zusammenfassung\040und\040Ausblick}{}% 29 | |||
\BOOKMARK [0][-]{chapter*.13}{Referenzen}{}% 30 | |||
\BOOKMARK [0][-]{chapter*.14}{Referenzen}{}% 30 |
@@ -20,13 +20,13 @@ | |||
\contentsline {section}{\numberline {3.2}Organisation}{13}{section.3.2} | |||
\contentsline {subsection}{\numberline {3.2.1}Datenmodellierung}{14}{subsection.3.2.1} | |||
\contentsline {subsection}{\numberline {3.2.2}Verwaltung im Administrator-Back-end}{15}{subsection.3.2.2} | |||
\contentsline {subsection}{\numberline {3.2.3}Berechtigung der User}{16}{subsection.3.2.3} | |||
\contentsline {section}{\numberline {3.3}Funktionen}{16}{section.3.3} | |||
\contentsline {subsection}{\numberline {3.3.1}Verwalten}{16}{subsection.3.3.1} | |||
\contentsline {subsection}{\numberline {3.3.2}Abonnieren}{16}{subsection.3.3.2} | |||
\contentsline {subsection}{\numberline {3.3.3}Filtern}{16}{subsection.3.3.3} | |||
\contentsline {subsection}{\numberline {3.3.4}Benachrichtigung}{16}{subsection.3.3.4} | |||
\contentsline {chapter}{\numberline {4}Ergebnis}{17}{chapter.4} | |||
\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{17}{subsection.4.0.1} | |||
\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{18}{chapter.5} | |||
\contentsline {chapter}{Referenzen}{19}{chapter*.13} | |||
\contentsline {subsection}{\numberline {3.2.3}Berechtigung der User}{17}{subsection.3.2.3} | |||
\contentsline {section}{\numberline {3.3}Funktionen}{17}{section.3.3} | |||
\contentsline {subsection}{\numberline {3.3.1}Verwalten}{17}{subsection.3.3.1} | |||
\contentsline {subsection}{\numberline {3.3.2}Abonnieren}{17}{subsection.3.3.2} | |||
\contentsline {subsection}{\numberline {3.3.3}Filtern}{17}{subsection.3.3.3} | |||
\contentsline {subsection}{\numberline {3.3.4}Benachrichtigung}{17}{subsection.3.3.4} | |||
\contentsline {chapter}{\numberline {4}Ergebnis}{18}{chapter.4} | |||
\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{18}{subsection.4.0.1} | |||
\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{19}{chapter.5} | |||
\contentsline {chapter}{Referenzen}{20}{chapter*.14} |
@@ -1,7 +1,7 @@ | |||
\relax | |||
\providecommand\hyper@newdestlabel[2]{} | |||
\@setckpt{chapters/ausblick}{ | |||
\setcounter{page}{18} | |||
\setcounter{page}{19} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} |
@@ -1,12 +1,12 @@ | |||
\relax | |||
\providecommand\hyper@newdestlabel[2]{} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Ergebnis}{17}{chapter.4}} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Ergebnis}{18}{chapter.4}} | |||
\@writefile{lof}{\addvspace {10\p@ }} | |||
\@writefile{lot}{\addvspace {10\p@ }} | |||
\newlabel{ch:ergebnis}{{4}{17}{Ergebnis}{chapter.4}{}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{17}{subsection.4.0.1}} | |||
\newlabel{ch:ergebnis}{{4}{18}{Ergebnis}{chapter.4}{}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{18}{subsection.4.0.1}} | |||
\@setckpt{chapters/ergebnis}{ | |||
\setcounter{page}{18} | |||
\setcounter{page}{19} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} |
@@ -1,11 +1,11 @@ | |||
\relax | |||
\providecommand\hyper@newdestlabel[2]{} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{18}{chapter.5}} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{19}{chapter.5}} | |||
\@writefile{lof}{\addvspace {10\p@ }} | |||
\@writefile{lot}{\addvspace {10\p@ }} | |||
\newlabel{ch:zusammenfassung}{{5}{18}{Zusammenfassung und Ausblick}{chapter.5}{}} | |||
\newlabel{ch:zusammenfassung}{{5}{19}{Zusammenfassung und Ausblick}{chapter.5}{}} | |||
\@setckpt{chapters/fazit}{ | |||
\setcounter{page}{19} | |||
\setcounter{page}{20} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} |
@@ -10,14 +10,15 @@ | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Datenmodellierung}{14}{subsection.3.2.1}} | |||
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces CustomUserModel in models.py\relax }}{15}{figure.caption.12}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Verwaltung im Administrator-Back-end}{15}{subsection.3.2.2}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Berechtigung der User}{16}{subsection.3.2.3}} | |||
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Funktionen}{16}{section.3.3}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Verwalten}{16}{subsection.3.3.1}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Abonnieren}{16}{subsection.3.3.2}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Filtern}{16}{subsection.3.3.3}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Benachrichtigung}{16}{subsection.3.3.4}} | |||
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Forschungsdesign\relax }}{16}{figure.caption.13}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Berechtigung der User}{17}{subsection.3.2.3}} | |||
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Funktionen}{17}{section.3.3}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Verwalten}{17}{subsection.3.3.1}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Abonnieren}{17}{subsection.3.3.2}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Filtern}{17}{subsection.3.3.3}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Benachrichtigung}{17}{subsection.3.3.4}} | |||
\@setckpt{chapters/prototyp}{ | |||
\setcounter{page}{17} | |||
\setcounter{page}{18} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} | |||
@@ -32,7 +33,7 @@ | |||
\setcounter{subsubsection}{0} | |||
\setcounter{paragraph}{0} | |||
\setcounter{subparagraph}{0} | |||
\setcounter{figure}{2} | |||
\setcounter{figure}{3} | |||
\setcounter{table}{0} | |||
\setcounter{float@type}{8} | |||
\setcounter{parentequation}{0} |
@@ -23,11 +23,9 @@ Zum Entwickeln des Prototypen wird die Open-Source- Entwicklungsumgebung Visual | |||
\item Python Extension Pack (Django Code-Vervollständigung) | |||
\end{itemize} | |||
Der entwickelte Syntax wird regelmä"sig auf das hochschulinterne Git-Repository geladen. Hier kann man mit Hilfe der verwendeten IDE bei der Überarbeitung im sogenannten \textit {Working-Tree} die Änderungen visuell einsehen und wenn nötig bearbeiten. Es wird ausschlie"slich auf den Master-Branch gepusht, da nur ein Entwickler an dem Prototyp tätig ist. Lediglich zum Testen experimenteller Bibliotheken werden eine Branches angelegt und diese, falls Sie sich als hilfreich erweisen, in den Master-Branch gemerged.--- | |||
Der entwickelte Syntax wird regelmä"sig auf das hochschulinterne Git-Repository geladen. Hier kann man mit Hilfe der verwendeten IDE bei der Überarbeitung im sogenannten \textit {Working-Tree} die Änderungen visuell einsehen und wenn nötig bearbeiten. Es wird ausschlie"slich auf den Master-Branch gepusht, da nur ein Entwickler an dem Prototyp tätig ist. Lediglich zum Testen experimenteller Bibliotheken werden neue Branches angelegt und diese, falls Sie sich als hilfreich erweisen, mit dem Master-Branch fusionieren. | |||
Um einen generellen Einblick in den Aufbau eines Django-Projektes zu erlangen wird dies im folgenden genauer beschrieben. | |||
Grundlegender Aufbau der Website, Verwaltung der Daten evlt nochmal auf Taggable-Manager (ManyToMany) ... | |||
Um einen Einblick in den Aufbau eines Django-Projektes zu erlangen wird dies im folgenden genauer beschrieben. Die unterste Projektebene wird durch die manage.py-Datei gebildet. Sie wird unter Anderem genutzt um den lokalen Server starten zu können. In der Ebene darüber findet sich im Ordner \glqq mysite\grqq\ die Datei settings.py. Hier werden die allgemeinen Einstellungen der Website vorgenommen, wie zum Beispiel das Integrieren der Erweiterungen und der Pfad zu den hinterlegten Templates. Au"serdem ist die urls.py dort zu finden, deren Funktion bereits im Kapitel Django erläutert wurde. Die \_\_init\_\_.py und wsgi.py sind trivial und deshalb wird hier nicht weiter darauf eingegangen. Im Ordner \glqq thisisenv\grqq\ sind alle Bibliotheken und Add-on's der virtuellen Umgebung hinterlegt. Der Fokus dieser Arbeit liegt im Ordner \glqq application\grqq. Hier sind die Datenbank-Migrationen, die Static-Files wie bootstrap und css, und alle Templates abgelegt. Zudem befindet sich hier die Logik des Prototypen, auf die im Kapitel \glqq Funktionen\grqq\ weiter eingegangen wird. | |||
\subsection{Datenmodellierung} | |||
@@ -47,11 +45,11 @@ werden die neun Tabellen der Modelle erstellt. Um diese dann auch anwenden zu k | |||
\textbf{UserModel:} | |||
\begin{addmargin}[25pt]{0pt} | |||
Hierbei ist das Authentifizierungssystem von Django mit einem \textit{UserModel} bereits angelegt. Dies muss für den Prototyp um das Feld \glqq tags \grqq erweitert werden, sodass ein Benutzer folgende Felder aufweist (vgl. [Fou18a]): | |||
Hierbei ist das Authentifizierungssystem von Django mit einem \textit{UserModel} bereits angelegt. Dies muss für den Prototyp um das Feld \glqq tags \grqq\ erweitert werden, sodass ein Benutzer folgende Felder aufweist (vgl. [Fou18a]): | |||
\begin{itemize} | |||
\item username, fist\_name, last\_name, email, groups, user\_permissions, is\_staff, is\_active, is\_superuser, last\_login, date\_joined, tags | |||
\end{itemize} | |||
In models.py ist der \textit{CustomUser} dafür verantwortlich das neue Feld mit dem \textit{Default-User} zu verknüpfen. Durch das \textit{OneToOneField} (siehe Abbildung 3.2.) wird die Verbindung zum schon bestehenden Modell hergestellt. \textit{OneToOne} bildet eine einzigartige Verbindung von zwei Objekten, sodass der Rückgabewert nur aus einem Objekt besteht (vgl. [Fou18a]). Das hei"st, dass bei dieser Verbindung keine Rekursiven, also ---blaaaa oder \textit{lazy} Beziehungen möglich sind um Konflikte bei der Authentifizierung zu vermeiden. Dies ist die übliche Vorgehensweise um mit einem Primärschlüssel das Default-Model zu erweitern. | |||
In models.py ist der \textit{CustomUser} dafür verantwortlich das neue Feld mit dem \textit{Default-User} zu verknüpfen. Durch das \textit{OneToOneField} (siehe Abbildung 3.2.) wird die Verbindung zum schon bestehenden Modell hergestellt. \textit{OneToOne} bildet eine einzigartige Zuordnung von zwei Objekten, sodass der Rückgabewert nur aus einem Objekt besteht (vgl. [Fou18a]). Das hei"st, dass hier keine Rekursiven, also auf sich selbst verlinkende oder \textit{lazy} Beziehungen möglich sind um Konflikte bei der Authentifizierung zu vermeiden. Dies ist die übliche Vorgehensweise um mit einem Primärschlüssel das Default-Model zu erweitern. | |||
\begin{figure}[!h] | |||
\centering | |||
\includegraphics[width=1\textwidth]{figures/custommodelcode} | |||
@@ -75,11 +73,18 @@ Der Autor ist durch einen \textit{ForeignKey} mit dem \textit{UserModel} verbund | |||
\textbf{Gesamtmodellierung:} | |||
\begin{addmargin}[25pt]{0pt} | |||
\begin{figure}[!h] | |||
\centering | |||
\includegraphics[width=0.8\textwidth]{figures/datamodel} | |||
\caption{Forschungsdesign} | |||
\hfill | |||
\end{figure} | |||
\end{addmargin} | |||
\subsection{Verwaltung im Administrator-Back-end} | |||
In diesem Kapitel wird beschrieben wie das Administrations-back-end genutzt werden kann. Es ist jedoch zu beachten, dass die Applikation vorwiegend von Dozenten und Angestellten der Hochschule ohne Administratorrechte verwendet werden soll. Die gestaffelten Berechtigungen werden im Kapitel \glqq Berechtigung der User \grqq genauer beschreiben. | |||
In diesem Kapitel wird beschrieben wie das Administrations-back-end genutzt werden kann. Es ist jedoch zu beachten, dass die Applikation vorwiegend von Dozenten und Angestellten der Hochschule ohne Administratorrechte verwendet werden soll. Die gestaffelten Berechtigungen werden im Kapitel \glqq Berechtigung der User \grqq\ genauer beschreiben. | |||
Ein Django-Projekt bildet bereits beim Einrichten, \textit{per Default}, eine Administrator-Oberfläche um die Inhalte der Website kontrollieren zu können. Nach der Migration von den oben genannten Modellen wird diese erweitert. Nich zu vergessen sind die externen Tabellen der installierten Add-on's, die nach der Migration das Back-end expandieren. | |||