@@ -60,13 +60,13 @@ | |||
<li class="nav-item"> | |||
<a class="nav-link" href="{% url 'post_draft_list' %}" class="top-menu"><span class="glyphicon glyphicon-edit">Entwürfe</span></a> | |||
</li> | |||
{% else %} | |||
{% elif user.is_authenticated %} | |||
<li class="nav-item"> | |||
<a class="nav-link" href="{% url 'tag_list' %}">{{user.get_username}}'s Dashboard</a> | |||
</li> | |||
<li class="nav-item"> | |||
<a class="nav-link" href="{% url 'search_add' %}">Suche</a> | |||
</li> | |||
</li> | |||
{% endif %} | |||
</ul> | |||
@@ -1,42 +1,41 @@ | |||
{% extends 'base.html' %} {% block content %} | |||
<div class="row"> | |||
{% if tag %} <div class="mx-auto"> | |||
<h2> Artikel mit dem Tag "{{ tag.name }}" </h2> | |||
</div>{% endif %} | |||
</div> | |||
<div class="row"> | |||
<div class="mx-auto"> | |||
<h1> Artikleübersicht </h1> | |||
</div> | |||
<div class="mx-auto"> | |||
<h1> Artikleübersicht </h1> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-8"> | |||
<div class="col-md-8"> | |||
{% if messages %} <div class="messages"> | |||
{% for message in messages %} | |||
<p {% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</p> | |||
{% endfor %} | |||
</div> | |||
{% endif %} | |||
{% for post in posts %} | |||
<div class="mt-5 post"> | |||
<div class="date"> | |||
{{ post.published_date }} | |||
{% if messages %} | |||
<div class="messages"> | |||
{% for message in messages %} | |||
<p {% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</p> | |||
{% endfor %} | |||
</div> | |||
{% endif %} | |||
{% for post in posts %} | |||
<div class="mt-5 post"> | |||
<div class="date"> | |||
{{ post.published_date }} | |||
</div> | |||
<h2> | |||
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a> | |||
</h2> | |||
<p>{{ post.text|linebreaks }}</p> | |||
Tags: {% for tag in post.tags.all %} | |||
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a> | |||
{% if not forloop.last %}, {% endif %} {% endfor %} <p> | |||
{{ post.author }} | |||
</p> | |||
</div> | |||
{% endfor %} | |||
</div> | |||
<h2> | |||
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a> | |||
</h2> | |||
<p>{{ post.text|linebreaks }}</p> | |||
Tags: {% for tag in post.tags.all %} | |||
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a> | |||
{% if not forloop.last %}, {% endif %} {% endfor %} <p> | |||
{{ post.author }} | |||
</p> | |||
</div> | |||
{% endfor %} | |||
</div> | |||
</div> | |||
{% endblock %} |
@@ -28,5 +28,28 @@ | |||
<input type="hidden" name="next" value="{{ next }}" /> | |||
</div> | |||
</form> | |||
<div> | |||
<div class="row"> | |||
<div class="col-md-8"> | |||
<div> | |||
{% for post in posts %} | |||
<div class="mt-5 post"> | |||
<div class="date"> | |||
{{ post.published_date }} | |||
</div> | |||
<h2> | |||
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a> | |||
</h2> | |||
<p>{{ post.text|linebreaks }}</p> | |||
Tags: {% for tag in post.tags.all %} | |||
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a> | |||
{% if not forloop.last %}, {% endif %} {% endfor %} <p> | |||
{{ post.author }} | |||
</p> | |||
</div> | |||
{% endfor %} | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
{% endblock %} |
@@ -1,13 +1,12 @@ | |||
{% extends "base.html" %} {% block content %} | |||
{% load taggit_templatetags2_tags %} | |||
<div class="container-fluid"> | |||
<div class="modal-body row"> | |||
<div class="col-md-6"> | |||
<div class="container"> | |||
<div class="row equal"> | |||
<div class="col-md-6" > | |||
<h1> Alle Tags im Überblick<br> | |||
</h1> | |||
<div class="col-md-10"> | |||
<div style="border:solid; text-align:center;padding:5px;"> | |||
<div class="col-md-8" style="zoom: 1.6"> | |||
<div style="text-align:center;padding:5px;"> | |||
{% get_tagcloud as tags for 'application' %} | |||
{% include_tagcloud 'application.Post' %} | |||
</div> | |||
@@ -25,7 +24,7 @@ | |||
</button> | |||
</span> | |||
</form> | |||
<div> | |||
<div class="pt-4"> | |||
{% for post in posts %} | |||
<div class="post"> | |||
<div class="date"> | |||
@@ -51,30 +50,32 @@ | |||
</h1> | |||
<div class="col-md-10"> | |||
{% if tags %} | |||
<div style="border:solid; text-align:center;padding:5px;"> | |||
<div style="text-align:center;padding-top:40px;"> | |||
{% for tag in tagsuser %} | |||
{{ tag.name }} | |||
{% if not forloop.last %}, {% endif %} | |||
<a class="text-white bg-dark p-3" href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a> | |||
{% endfor %} | |||
</div> | |||
{% endif %} | |||
</div> | |||
<div style="padding-bottom:40px;"> | |||
</div> | |||
<div> | |||
Abonniere deine Tags hier! | |||
<div style="padding-bottom:145px;"> | |||
</div> | |||
<form class="post-form" method="post"> | |||
{% csrf_token %} {{form.as_p}} | |||
<button type="submit" class="save btn btn-outline-dark">Sichern</button> | |||
</form> | |||
<div class="mx-auto"> | |||
{% if messages %} | |||
{% for message in messages %} | |||
<div {% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</div> | |||
{% endfor %} | |||
{% endif %} | |||
<div> | |||
Abonniere deine Tags hier! | |||
</div> | |||
<form class="post-form" method="post"> | |||
{% csrf_token %} {{form.as_p}} | |||
<button type="submit" class="save btn btn-outline-dark">Sichern</button> | |||
</form> | |||
{% if messages %} | |||
{% for message in messages %} | |||
<div {% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</div> | |||
{% endfor %} | |||
{% endif %} | |||
</div> | |||
</div> | |||
</div> | |||
</div> |
@@ -29,8 +29,11 @@ | |||
</div> | |||
</div> | |||
<div class="mt-5 col-md-4"> | |||
<a id="search_submit" href="/posts" class="save btn btn-outline-dark">alle Artikel | |||
</a> | |||
<div class="float-right"> | |||
<a id="search_submit" href="/posts" class="save btn btn-outline-dark">alle Artikel | |||
</a> | |||
</div> | |||
</div> | |||
{% endblock %} | |||
</div> | |||
{% endblock %} |
@@ -55,7 +55,6 @@ def post_list(request, slug=None): | |||
if slug: | |||
tag = get_object_or_404(Tag, slug=slug) | |||
posts = posts.filter(tags__in=[tag]) | |||
log.info(posts) | |||
return render(request, 'post_list.html', locals()) | |||
@@ -147,7 +146,8 @@ def tag_list(request): | |||
posts = Post.objects.filter(tags__in=[tag]).order_by('-published_date') | |||
log.info(posts) | |||
return render(request, 'tag_list.html', locals()) | |||
@login_required | |||
def search_add(request): | |||
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date') | |||
if request.method == 'GET': |
@@ -46,7 +46,7 @@ | |||
\bibcite{Django}{{Fou18b}{}{{}}{{}}} | |||
\bibcite{Django-2}{{Fou18c}{}{{}}{{}}} | |||
\bibcite{Django-3}{{Fou18d}{}{{}}{{}}} | |||
\@writefile{toc}{\contentsline {chapter}{Referenzen}{26}{chapter*.16}} | |||
\@writefile{toc}{\contentsline {chapter}{Referenzen}{29}{chapter*.19}} | |||
\bibcite{Python}{{Fou18e}{}{{}}{{}}} | |||
\bibcite{Gaynor}{{Gay10}{}{{}}{{}}} | |||
\bibcite{Sario}{{Gmb18}{}{{}}{{}}} |
@@ -14,5 +14,8 @@ | |||
\contentsline {figure}{\numberline {3.3}{\ignorespaces Datenmodellierung von \texttt {User} und \texttt {Post}\relax }}{19}{figure.caption.13} | |||
\contentsline {figure}{\numberline {3.4}{\ignorespaces User Stories\relax }}{20}{figure.caption.14} | |||
\contentsline {figure}{\numberline {3.5}{\ignorespaces Funktion post\_edit, Auszug aus views.py.\relax }}{23}{figure.caption.15} | |||
\contentsline {figure}{\numberline {3.6}{\ignorespaces Funktion search\_add, Auszug aus views.py.\relax }}{24}{figure.caption.16} | |||
\contentsline {figure}{\numberline {3.7}{\ignorespaces Prototyp Newsfeed Seite\relax }}{25}{figure.caption.17} | |||
\contentsline {figure}{\numberline {3.8}{\ignorespaces Prototyp Suche- und Abonnier-Seite\relax }}{26}{figure.caption.18} | |||
\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) 17 NOV 2018 19:53 | |||
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex 2018.6.7) 18 NOV 2018 18:15 | |||
entering extended mode | |||
\write18 enabled. | |||
file:line:error style messages enabled. | |||
@@ -1137,17 +1137,17 @@ Package babel Info: Redefining german shorthand "~ | |||
] (/Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/bachelorabeit_EstherKleinhenz.toc | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 29. | |||
(babel) in language on input line 28. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 29. | |||
(babel) in language on input line 28. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 29. | |||
(babel) in language on input line 28. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 29. | |||
(babel) in language on input line 28. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 29. | |||
(babel) in language on input line 28. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 29. | |||
(babel) in language on input line 28. | |||
[3 | |||
@@ -1867,18 +1867,71 @@ Package babel Info: Redefining german shorthand "| | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 158. | |||
[22] | |||
File: figures/view-search-add.png Graphic file (type bmp) | |||
<figures/view-search-add.png> | |||
Overfull \hbox (42.68173pt too wide) in paragraph at lines 165--166 | |||
[][] | |||
[] | |||
LaTeX Warning: `!h' float specifier changed to `!ht'. | |||
Package Fancyhdr Warning: \headheight is too small (12.0pt): | |||
Make it at least 14.49998pt. | |||
We now make it that large for the rest of the document. | |||
This may cause the page layout to be inconsistent, however. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 171. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 171. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 171. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 171. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 171. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 171. | |||
[23] | |||
File: figures/newsfeed.png Graphic file (type bmp) | |||
<figures/newsfeed.png> | |||
LaTeX Warning: `!h' float specifier changed to `!ht'. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 182. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 182. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 182. | |||
File: figures/filtern.png Graphic file (type bmp) | |||
<figures/filtern.png> | |||
Package Fancyhdr Warning: \headheight is too small (12.0pt): | |||
Make it at least 14.49998pt. | |||
We now make it that large for the rest of the document. | |||
This may cause the page layout to be inconsistent, however. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 166. | |||
(babel) in language on input line 193. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 166. | |||
(babel) in language on input line 193. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 166. | |||
(babel) in language on input line 193. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 169. | |||
(babel) in language on input line 193. | |||
Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 169. | |||
(babel) in language on input line 193. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 169. | |||
(babel) in language on input line 193. | |||
[24] | |||
LaTeX Warning: `!h' float specifier changed to `!ht'. | |||
) | |||
Package Fancyhdr Warning: \headheight is too small (12.0pt): | |||
@@ -1898,7 +1951,26 @@ 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. | |||
[23] | |||
[25] | |||
Package Fancyhdr Warning: \headheight is too small (12.0pt): | |||
Make it at least 14.49998pt. | |||
We now make it that large for the rest of the document. | |||
This may cause the page layout to be inconsistent, however. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 60. | |||
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. | |||
Package babel Info: Redefining german shorthand "f | |||
(babel) in language on input line 60. | |||
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. | |||
[26] | |||
\openout2 = `chapters/ergebnis.aux'. | |||
(./chapters/ergebnis.tex | |||
@@ -1932,7 +2004,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 61. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 61. | |||
[24 | |||
[27 | |||
@@ -1964,7 +2036,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 63. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 63. | |||
[25 | |||
[28 | |||
@@ -2035,7 +2107,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 73. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 73. | |||
[26 | |||
[29 | |||
@@ -2108,7 +2180,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 154. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 154. | |||
[27] | |||
[30] | |||
Underfull \hbox (badness 10000) in paragraph at lines 156--162 | |||
[]\T1/aer/m/n/12 Alexy She-lest. Mo-del view con-trol-ler, mo-del view pre- | |||
[] | |||
@@ -2144,7 +2216,7 @@ Package babel Info: Redefining german shorthand "| | |||
(babel) in language on input line 78. | |||
Package babel Info: Redefining german shorthand "~ | |||
(babel) in language on input line 78. | |||
[28] | |||
[31] | |||
Package atveryend Info: Empty hook `AfterLastShipout' on input line 78. | |||
(/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 78. | |||
@@ -2159,12 +2231,12 @@ Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 78. | |||
) | |||
(\end occurred when \ifnum on line 5 was incomplete) | |||
Here is how much of TeX's memory you used: | |||
27371 strings out of 492970 | |||
490070 string characters out of 6133939 | |||
563138 words of memory out of 5000000 | |||
30948 multiletter control sequences out of 15000+600000 | |||
27383 strings out of 492970 | |||
490349 string characters out of 6133939 | |||
563059 words of memory out of 5000000 | |||
30957 multiletter control sequences out of 15000+600000 | |||
556319 words of font info for 63 fonts, out of 8000000 for 9000 | |||
1348 hyphenation exceptions out of 8191 | |||
58i,18n,50p,10437b,960s stack positions out of 5000i,500n,10000p,200000b,80000s | |||
Output written on /Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/bachelorabeit_EstherKleinhenz.pdf (33 pages). | |||
Output written on /Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/bachelorabeit_EstherKleinhenz.pdf (36 pages). |
@@ -23,8 +23,7 @@ | |||
\BOOKMARK [2][-]{subsection.3.3.1}{Verwalten}{section.3.3}% 23 | |||
\BOOKMARK [2][-]{subsection.3.3.2}{Abonnieren}{section.3.3}% 24 | |||
\BOOKMARK [2][-]{subsection.3.3.3}{Filtern}{section.3.3}% 25 | |||
\BOOKMARK [2][-]{subsection.3.3.4}{Benachrichtigung}{section.3.3}% 26 | |||
\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*.16}{Referenzen}{}% 30 | |||
\BOOKMARK [0][-]{chapter.4}{Ergebnis}{}% 26 | |||
\BOOKMARK [1][-]{subsection.4.0.1}{Evaluierung}{chapter.4}% 27 | |||
\BOOKMARK [0][-]{chapter.5}{Zusammenfassung\040und\040Ausblick}{}% 28 | |||
\BOOKMARK [0][-]{chapter*.19}{Referenzen}{}% 29 |
@@ -24,9 +24,8 @@ | |||
\contentsline {section}{\numberline {3.3}Funktionen}{20}{section.3.3} | |||
\contentsline {subsection}{\numberline {3.3.1}Verwalten}{20}{subsection.3.3.1} | |||
\contentsline {subsection}{\numberline {3.3.2}Abonnieren}{22}{subsection.3.3.2} | |||
\contentsline {subsection}{\numberline {3.3.3}Filtern}{23}{subsection.3.3.3} | |||
\contentsline {subsection}{\numberline {3.3.4}Benachrichtigung}{23}{subsection.3.3.4} | |||
\contentsline {chapter}{\numberline {4}Ergebnis}{24}{chapter.4} | |||
\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{24}{subsection.4.0.1} | |||
\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{25}{chapter.5} | |||
\contentsline {chapter}{Referenzen}{26}{chapter*.16} | |||
\contentsline {subsection}{\numberline {3.3.3}Filtern}{24}{subsection.3.3.3} | |||
\contentsline {chapter}{\numberline {4}Ergebnis}{27}{chapter.4} | |||
\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{27}{subsection.4.0.1} | |||
\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{28}{chapter.5} | |||
\contentsline {chapter}{Referenzen}{29}{chapter*.19} |
@@ -1,7 +1,7 @@ | |||
\relax | |||
\providecommand\hyper@newdestlabel[2]{} | |||
\@setckpt{chapters/ausblick}{ | |||
\setcounter{page}{25} | |||
\setcounter{page}{28} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} | |||
@@ -29,7 +29,7 @@ | |||
\setcounter{Item}{0} | |||
\setcounter{Hfootnote}{0} | |||
\setcounter{Hy@AnnotLevel}{0} | |||
\setcounter{bookmark@seq@number}{28} | |||
\setcounter{bookmark@seq@number}{27} | |||
\setcounter{NAT@ctr}{0} | |||
\setcounter{lstlisting}{0} | |||
\setcounter{section@level}{0} |
@@ -1,12 +1,12 @@ | |||
\relax | |||
\providecommand\hyper@newdestlabel[2]{} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Ergebnis}{24}{chapter.4}} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Ergebnis}{27}{chapter.4}} | |||
\@writefile{lof}{\addvspace {10\p@ }} | |||
\@writefile{lot}{\addvspace {10\p@ }} | |||
\newlabel{ch:ergebnis}{{4}{24}{Ergebnis}{chapter.4}{}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{24}{subsection.4.0.1}} | |||
\newlabel{ch:ergebnis}{{4}{27}{Ergebnis}{chapter.4}{}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{27}{subsection.4.0.1}} | |||
\@setckpt{chapters/ergebnis}{ | |||
\setcounter{page}{25} | |||
\setcounter{page}{28} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} | |||
@@ -34,7 +34,7 @@ | |||
\setcounter{Item}{0} | |||
\setcounter{Hfootnote}{0} | |||
\setcounter{Hy@AnnotLevel}{0} | |||
\setcounter{bookmark@seq@number}{28} | |||
\setcounter{bookmark@seq@number}{27} | |||
\setcounter{NAT@ctr}{0} | |||
\setcounter{lstlisting}{0} | |||
\setcounter{section@level}{0} |
@@ -1,11 +1,11 @@ | |||
\relax | |||
\providecommand\hyper@newdestlabel[2]{} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{25}{chapter.5}} | |||
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Zusammenfassung und Ausblick}{28}{chapter.5}} | |||
\@writefile{lof}{\addvspace {10\p@ }} | |||
\@writefile{lot}{\addvspace {10\p@ }} | |||
\newlabel{ch:zusammenfassung}{{5}{25}{Zusammenfassung und Ausblick}{chapter.5}{}} | |||
\newlabel{ch:zusammenfassung}{{5}{28}{Zusammenfassung und Ausblick}{chapter.5}{}} | |||
\@setckpt{chapters/fazit}{ | |||
\setcounter{page}{26} | |||
\setcounter{page}{29} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} | |||
@@ -33,7 +33,7 @@ | |||
\setcounter{Item}{0} | |||
\setcounter{Hfootnote}{0} | |||
\setcounter{Hy@AnnotLevel}{0} | |||
\setcounter{bookmark@seq@number}{29} | |||
\setcounter{bookmark@seq@number}{28} | |||
\setcounter{NAT@ctr}{0} | |||
\setcounter{lstlisting}{0} | |||
\setcounter{section@level}{0} |
@@ -17,10 +17,12 @@ | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Verwalten}{20}{subsection.3.3.1}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Abonnieren}{22}{subsection.3.3.2}} | |||
\@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces Funktion post\_edit, Auszug aus views.py.\relax }}{23}{figure.caption.15}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Filtern}{23}{subsection.3.3.3}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Benachrichtigung}{23}{subsection.3.3.4}} | |||
\@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces Funktion search\_add, Auszug aus views.py.\relax }}{24}{figure.caption.16}} | |||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Filtern}{24}{subsection.3.3.3}} | |||
\@writefile{lof}{\contentsline {figure}{\numberline {3.7}{\ignorespaces Prototyp Newsfeed Seite\relax }}{25}{figure.caption.17}} | |||
\@writefile{lof}{\contentsline {figure}{\numberline {3.8}{\ignorespaces Prototyp Suche- und Abonnier-Seite\relax }}{26}{figure.caption.18}} | |||
\@setckpt{chapters/prototyp}{ | |||
\setcounter{page}{24} | |||
\setcounter{page}{27} | |||
\setcounter{equation}{0} | |||
\setcounter{enumi}{0} | |||
\setcounter{enumii}{0} | |||
@@ -31,11 +33,11 @@ | |||
\setcounter{part}{0} | |||
\setcounter{chapter}{3} | |||
\setcounter{section}{3} | |||
\setcounter{subsection}{4} | |||
\setcounter{subsection}{3} | |||
\setcounter{subsubsection}{0} | |||
\setcounter{paragraph}{0} | |||
\setcounter{subparagraph}{0} | |||
\setcounter{figure}{5} | |||
\setcounter{figure}{8} | |||
\setcounter{table}{0} | |||
\setcounter{float@type}{8} | |||
\setcounter{parentequation}{0} | |||
@@ -48,7 +50,7 @@ | |||
\setcounter{Item}{0} | |||
\setcounter{Hfootnote}{0} | |||
\setcounter{Hy@AnnotLevel}{0} | |||
\setcounter{bookmark@seq@number}{26} | |||
\setcounter{bookmark@seq@number}{25} | |||
\setcounter{NAT@ctr}{0} | |||
\setcounter{lstlisting}{0} | |||
\setcounter{section@level}{0} |
@@ -1,3 +1,5 @@ | |||
\chapter{Zusammenfassung und Ausblick} | |||
\label{ch:zusammenfassung} | |||
Zusammenfassung... | |||
Was war bei mir nicht enthalten, warum ist die berechnung nur teilweise valide, eigenen ergebnisse nicht schlecht machen |
@@ -154,26 +154,43 @@ Betätigt der Benutzer den Speichern-Button im Front-end wird die bedingte Abfra | |||
Das Abonnieren bestimmter Themengebiete ist eines der wichtigsten Funktionen im Prototyp. | |||
Nach längerer Recherche im Netz wird unter Berücksichtigung aller Vor- und Nachteile ein Tag-Modell zur Umsetzung hierfür gewählt. Wie bereits in der Datenmodellierung angedeutet, besitzt jeder Artikel beschreibende Tags. Hierbei handelt es sich um kurze stichwortartige Beschreibungen, die den Artikel so gut wie möglich charakterisieren. Abhängig vom Umfang des Blogsystems sollte die Anzahl der Tags immer in einem gewissen Rahmen vorhanden sein. Das bedeutet zum Einen, dass Ersteller von Artikeln immer die gleich Menge der Schlagwörter verwenden, wobei geringe Abweichungen möglich sind (vgl. [Gmb18]). Hat das System bereits einen grö"seren Umfang angenommen, sollten zum Anderen keine neuen Tags erstellt werden um die Übersicht für Autoren und Leser zu bewahren. | |||
Im Prototyp findet man die Abonnier-Funktion in der Menüleiste unter Suche. Hier erscheint ein zwei-geteiltes Layout, welches auf der rechten Seite alle bereits abonnierten Tags auflistet und darunter die Eingabe eines neuen Tags ermöglicht. Um den Benutzer alle bereits existierenden Tags offen zu legen, befindet sich auf der linken Seite des Layouts eine \texttt{Tag-Cloud}, die diese darstellt. | |||
Die Eingabe des zu abonnierenden Tags wird durch ein Formular realisiert. Dieses ist in der \texttt{forms.py} Datei konfiguriert und enthält nur ein Eingabefeld. Gibt der Benutzer einen Tag ein und sendet durch betätigen des Sichern-Buttons den \texttt{Request} wird dieser in der \texttt{views.py}, wie üblich, verarbeitet. | |||
Nach längerer Recherche im Netz wird unter Berücksichtigung aller Vor- und Nachteile ein Tag-Modell zur Umsetzung hierfür gewählt. Wie bereits in der Datenmodellierung angedeutet, besitzt jeder Artikel beschreibende Tags. Hierbei handelt es sich um kurze stichwortartige Beschreibungen, die den diesen so gut wie möglich charakterisieren. Abhängig vom Umfang des Blogsystems sollte die Anzahl der Tags immer in einem gewissen Rahmen vorhanden sein. Das bedeutet zum Einen, dass Ersteller von Artikeln immer die gleich Menge der Schlagwörter verwenden, wobei geringe Abweichungen möglich sind (vgl. [Gmb18]). Hat das System bereits einen grö"seren Umfang angenommen, sollten zum Anderen keine neuen Tags erstellt werden um die Übersicht für Autoren und Leser zu bewahren. | |||
Im Prototyp findet man die Abonnier-Funktion in der Menüleiste unter Suche. Hier erscheint ein zwei-geteiltes Layout, welches auf der rechten Seite alle bereits abonnierten Tags auflistet und darunter die Eingabe eines neuen Tags ermöglicht. Um den Benutzer alle bereits existierenden Tags offen zu legen, befindet sich auf der linken Seite des Layouts eine \texttt{Tag-Cloud}, die diese darstellt (vgl. Abbildung 3.8.). | |||
Die Eingabe des zu abonnierenden Tags wird durch ein Formular realisiert. Dieses ist in der \texttt{forms.py} Datei konfiguriert und enthält nur ein Eingabefeld. Der Ablauf verläuft gleichartig zum oben dargestellten Erstellen eines Artikels, wird aber hier nochmals beschrieben um die Struktur des \texttt{Taggable Managers} zu verdeutlichen. | |||
\begin{figure}[!h] | |||
\centering | |||
\includegraphics[width=1.1\textwidth]{figures/view-search-add} | |||
\caption{Funktion search\_add, Auszug aus views.py.} | |||
\hfill | |||
\end{figure} | |||
\subsection{Filtern} | |||
Tag-cloud? Filtern nach abonnierten Posts, alle Posts und Posts mit bestimmten Tags | |||
Gibt der Benutzer einen Tag ein und sendet durch betätigen des Sichern-Buttons den \texttt{Request}, wird dieser in der \texttt{views.py}, verarbeitet. In Zeile 159 der Abbildung 3.6. wird der eingeloggte Benutzer der Variable \texttt{user\_instance} übergeben. Beim Erstellen der \texttt{Model-Instanz} (vgl. Abbildung 3.6., Zeile 161) wird \texttt{user\_instance} der Unbekannten \texttt{form} zugeteilt um die Tag-Eingabe im richtigen User-Objekt integrieren zu können. Nach der Abfrage der Formvalidität, wird ein neues Objekt angelegt (vgl. Abbildung 3.6., Zeile 163) und ebenfalls dem aktuellen Benutzer zugeordnet. Die Eingabe der \texttt{form} wird in ein \texttt{Array} zwischengespeichert und mit dem Attribut \texttt{cleaned\_data} in ein für Python kompatiblen Datentyp gecastet. Um prüfen zu können, ob die Eingaben der Form tatsächlich im \texttt{Tag-Model} enthalten sind, wird diese nochmals in einen String umgewandelt und mit den bereits existierenden Tags abgeglichen (vgl. Abbildung 3.6., Zeile 168). Wird Bedingung erfüllt, speichert die Funktion die Tags. In beiden möglichen Fällen, wird der Benutzer benachrichtigt ob der Vorgang erfolgreich oder die Eingabe nicht valide ist. | |||
\subsection{Benachrichtigung} | |||
Mail-Benachrichtigung wöchentlich | |||
Nun werden auf dem Dashboard Artikel der neu hinzugefügten Tags angezeigt (vgl Abbildung 3.7.). | |||
\begin{figure}[!h] | |||
\centering | |||
\includegraphics[width=1\textwidth]{figures/newsfeed} | |||
\caption{Prototyp Newsfeed Seite} | |||
\hfill | |||
\end{figure} | |||
\subsection{Filtern} | |||
Für eine effiziente Nutzbarkeit des Prototypen ist es wichtig, dass Benutzer intuitiv nach Tags suchen und diese selektieren können. Hierfür werden verschiedene Möglichkeiten zur Verfügung gestellt, die die Usability der Website verbessern. | |||
Im persönlichen Newsfeed des Dashboards sind, die zu den Artikeln zugewiesenen Schlagwörter jeweils mit Verlinkungen versehen. Möchte ein Benutzer weitere Artikel zu einem bestimmten Thema lesen, so muss er lediglich auf den entsprechenden Tag klicken und erhält somit eine Liste aller Posts, die diesen enthalten. Hierfür wird keine eigene \texttt{View} benötigt denn das Erstellen von Listen mit unterschiedlichem Inhalt kann ebenso über sich unterscheidende Urls realisiert werden. Im Template \texttt{post\_list} wird beim klicken auf einen Tag der \textit{Slug} dessen mitgegeben. Au"serdem wird nun die Url \texttt{post\_list\_by\_tag} aufgerufen, die auf eine neue Seite verweist | |||
\begin{figure}[!h] | |||
\centering | |||
\includegraphics[width=1\textwidth]{figures/filtern} | |||
\caption{Prototyp Suche- und Abonnier-Seite} | |||
\hfill | |||
\end{figure} | |||
@@ -337,3 +337,76 @@ | |||
[17/Nov/2018 19:36:11] INFO [mysite:148] <QuerySet []> | |||
[17/Nov/2018 19:36:11] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: teeeest>, <Post: Bavaria>]> | |||
[17/Nov/2018 19:36:18] INFO [mysite:58] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: teeeest>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:30:59] INFO [mysite:146] <QuerySet [<Tag: hi>, <Tag: second>, <Tag: first>, <Tag: test>, <Tag: bayern>]> | |||
[18/Nov/2018 14:31:00] INFO [mysite:149] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: teeeest>]> | |||
[18/Nov/2018 14:31:00] INFO [mysite:149] <QuerySet [<Post: Das ist ein Titel>, <Post: teeeest>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:31:00] INFO [mysite:149] <QuerySet []> | |||
[18/Nov/2018 14:31:00] INFO [mysite:149] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: teeeest>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:31:00] INFO [mysite:149] <QuerySet [<Post: Bavaria>]> | |||
[18/Nov/2018 14:44:10] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:44:10] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: teeeest>]> | |||
[18/Nov/2018 14:44:10] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: teeeest>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:44:10] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:44:10] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: teeeest>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:45:10] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:45:10] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:45:10] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:45:10] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:45:10] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:45:27] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:45:27] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:45:27] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:45:27] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:45:27] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:45:57] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:45:57] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:45:57] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:45:57] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:45:57] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:46:38] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:46:38] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:46:38] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:46:38] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:46:38] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:52:14] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:52:15] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:52:15] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:52:15] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:52:15] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:52:23] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:52:23] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:52:23] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:52:23] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:52:23] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:55:43] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:55:43] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:55:43] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:55:43] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:55:43] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:55:44] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:55:44] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:55:44] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:55:44] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:55:44] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:56:05] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:56:05] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:56:05] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:56:05] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:56:05] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:56:25] INFO [mysite:58] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:57:11] INFO [mysite:58] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 14:57:26] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 14:57:26] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 14:57:26] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 14:57:26] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 14:57:26] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 17:22:56] INFO [mysite:145] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 17:22:56] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 17:22:56] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 17:22:56] INFO [mysite:148] <QuerySet []> | |||
[18/Nov/2018 17:22:56] INFO [mysite:148] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> | |||
[18/Nov/2018 18:13:52] INFO [mysite:144] <QuerySet [<Tag: hi>, <Tag: test>, <Tag: two>, <Tag: second>]> | |||
[18/Nov/2018 18:13:52] INFO [mysite:147] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>]> | |||
[18/Nov/2018 18:13:52] INFO [mysite:147] <QuerySet [<Post: Das ist ein Titel>, <Post: Strange Things>, <Post: Hier kommt was neues>, <Post: Bavaria>, <Post: test>]> | |||
[18/Nov/2018 18:13:52] INFO [mysite:147] <QuerySet []> | |||
[18/Nov/2018 18:13:52] INFO [mysite:147] <QuerySet [<Post: Das ist ein Titel>, <Post: Hier kommt was neues>, <Post: Bavaria>]> |