Commit ff9b7c18 authored by Behr, Svenja's avatar Behr, Svenja
Browse files

- Inhalt der Startseite kommt jetzt aus dem Content

- Fixtures angelegt, mit denen die DB vorgefüllt werden kann
- Code Kommentare ergänzt
parent 552a5766
[
{
"model": "blog.blog",
"pk": 1,
"fields": {
"identifier": "contact",
"title": "Kontakt",
"description": "<p>Kontakt</p>",
"date": "2020-06-16T21:19:46Z",
"image": "",
"created": "2020-06-16",
"edited": "2020-06-16",
"status": 1,
"slug": "contact"
}
},
{
"model": "blog.blog",
"pk": 2,
"fields": {
"identifier": "impress",
"title": "Impressum",
"description": "<h1 style=\"font-style:italic\">Impressum</h1>",
"date": "2020-06-16T21:21:22Z",
"image": "",
"created": "2020-06-16",
"edited": "2020-06-16",
"status": 1,
"slug": "impress"
}
},
{
"model": "blog.blog",
"pk": 8,
"fields": {
"identifier": "start-page",
"title": "Die Projekt-Startseite",
"description": "<h2>Autoren:</h2>\r\n\r\n<p>Svenja Behr,<br />\r\nDennis Nikolas Falk,<br />\r\nAlexander Tang</p>\r\n\r\n<p>Datenbank:<strong> djangoblog.sqlite3</strong>,<br />\r\nLogin: <strong>admin</strong><br />\r\nPassword: <strong>blog1234</strong></p>",
"date": "2020-06-22T18:14:38Z",
"image": "",
"created": "2020-06-22",
"edited": "2020-06-22",
"status": 1,
"slug": "start"
}
},
{
"model": "blog.blog",
"pk": 9,
"fields": {
"identifier": "404",
"title": "Artikel nicht gefunden",
"description": "<p>Das ist nicht der Artikel, den du suchst&nbsp;<img alt=\"sad\" src=\"http://127.0.0.1:8000/static/ckeditor/ckeditor/plugins/smiley/images/sad_smile.png\" style=\"height:23px; width:23px\" title=\"sad\" /></p>",
"date": "2020-06-22T18:16:09Z",
"image": "",
"created": "2020-06-22",
"edited": "2020-06-22",
"status": 1,
"slug": "404"
}
},
{
"model": "blog.blog",
"pk": 10,
"fields": {
"identifier": "sample-1",
"title": "Beispielartikel 1",
"description": "<p>Jemand musste Josef K. verleumdet haben, denn ohne dass er etwas B&ouml;ses getan h&auml;tte, wurde er eines Morgens verhaftet. &raquo;Wie ein Hund!&laquo; sagte er, es war, als sollte die Scham ihn &uuml;berleben. Als Gregor Samsa eines Morgens aus unruhigen Tr&auml;umen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt. Und es war ihnen wie eine Best&auml;tigung ihrer neuen Tr&auml;ume und guten Absichten, als am Ziele ihrer Fahrt die Tochter als erste sich erhob und ihren jungen K&ouml;rper dehnte. &raquo;Es ist ein eigent&uuml;mlicher Apparat&laquo;, sagte der Offizier zu dem Forschungsreisenden und &uuml;berblickte mit einem gewisserma&szlig;en bewundernden Blick den ihm doch wohlbekannten Apparat. Sie h&auml;tten noch ins Boot springen k&ouml;nnen, aber der Reisende hob ein schweres, geknotetes Tau vom Boden, drohte ihnen damit und hielt sie dadurch von dem Sprunge ab. In den letzten Jahrzehnten ist das Interesse an Hungerk&uuml;nstlern sehr zur&uuml;ckgegangen. Aber sie &uuml;berwanden sich, umdr&auml;ngten den K&auml;fig und wollten sich gar nicht fortr&uuml;hren.Jemand musste Josef K. verleumdet haben, denn ohne dass er etwas B&ouml;ses getan h&auml;tte, wurde er eines Morgens verhaftet. &raquo;Wie ein Hund!&laquo; sagte er, es war, als sollte die Scham ihn &uuml;berleben. Als Gregor Samsa eines Morgens aus unruhigen Tr&auml;umen erwachte, fand er sich...</p>\r\n\r\n<h2>&Uuml;berschrift zwischendurch</h2>\r\n\r\n<p>Es gibt im Moment in diese Mannschaft, oh, einige Spieler vergessen ihnen Profi was sie sind. Ich lese nicht sehr viele Zeitungen, aber ich habe geh&ouml;rt viele Situationen. Erstens: wir haben nicht offensiv gespielt. Es gibt keine deutsche Mannschaft spielt offensiv und die Name offensiv wie Bayern. Letzte Spiel hatten wir in Platz drei Spitzen: Elber, Jancka und dann Zickler. Wir m&uuml;ssen nicht vergessen Zickler. Zickler ist eine Spitzen mehr, Mehmet eh mehr Basler. Ist klar diese W&ouml;rter, ist m&ouml;glich verstehen, was ich hab gesagt? Danke. Offensiv, offensiv ist wie machen wir in Platz. Zweitens: ich habe erkl&auml;rt mit diese zwei Spieler: nach Dortmund brauchen vielleicht Halbzeit Pause. Ich habe auch andere Mannschaften gesehen in Europa nach diese Mittwoch. Ich habe gesehen auch zwei Tage die Training. Ein Trainer ist nicht ein Idiot! Ein Trainer sei sehen was passieren in Platz. In diese Spiel es waren zwei, drei diese Spieler waren schwach wie eine Flasche leer! Haben Sie gesehen Mittwoch, welche Mannschaft hat gespielt Mittwoch? Hat gespielt Mehmet oder gespielt Basler oder hat gespielt Trapattoni? Diese Spieler beklagen mehr als sie spielen! Wissen Sie, warum die Italienmannschaften kaufen nicht diese Spieler? Weil wir haben gesehen viele Male solche Spiel!&nbsp;</p>",
"date": "2020-06-22T18:17:17Z",
"image": "",
"created": "2020-06-22",
"edited": "2020-06-22",
"status": 0,
"slug": "sample-1"
}
},
{
"model": "blog.blog",
"pk": 11,
"fields": {
"identifier": "sample-2",
"title": "Beispielartikel 2",
"description": "<p>Hier k&ouml;nnte ihr eigener Artikel stehen!</p>\r\n\r\n<hr />\r\n<div style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\">//Don&#39;t leave dead comments in code!</div>\r\n\r\n<p>Kommentare k&ouml;nnen unten eingetragen werden.&nbsp;</p>",
"date": "2020-06-22T18:18:50Z",
"image": "",
"created": "2020-06-22",
"edited": "2020-06-22",
"status": 2,
"slug": "sample-2"
}
}
]
\ No newline at end of file
......@@ -10,6 +10,9 @@ from django.views.generic import DetailView
# Create your views here.
def all_blogs(request):
""" Show all blog articles in an overview list.
Will exclude those which should be hidden in this list (e.g. impress)
"""
# Exclude those with status hidden from the overall list
query = f'status & {BLOG_STATE_HIDE_FROM_LIST} <> {BLOG_STATE_HIDE_FROM_LIST}'
blogs = Blog.objects.extra(where=[query]).order_by('created')
......@@ -18,6 +21,9 @@ def all_blogs(request):
def detail(request, slug):
""" Shows one complete article, based on the slug (url)
If comments are allowed, they will be shown as well (uses an extended template)
"""
blogResult = Blog.objects.filter(slug=slug)
print(blogResult)
if blogResult.count() == 0:
......@@ -37,6 +43,9 @@ def detail(request, slug):
def save_comment(request):
"""The Request to save a comment is sent to here.
Only post is allowed. Will send back to details page with success/error message.
"""
if request.method != 'POST':
# no form submit - return 405
return HttpResponseNotAllowed(['POST'])
......@@ -48,7 +57,7 @@ def save_comment(request):
else:
messages.error(request, 'Ups! Da ist etwas schief gelaufen. Wir konnten deinen Kommentar nicht speichern!')
print(form.data.get('related_blog'))
# read origin form from the related blog id
blog = get_object_or_404(Blog, pk=form.data.get('related_blog'))
# back to the details page
return redirect(reverse_lazy('blog:blog-detail', kwargs={'slug': blog.slug}))
from django.shortcuts import render
from django.core.exceptions import ObjectDoesNotExist
from blog.models import Blog
# Create your views here.
def home(request):
return render(request, 'startpage/home.html')
"""Renders the home page"""
try:
blog = Blog.objects.get(identifier='start-page')
except ObjectDoesNotExist:
# prepare a fallback, if the website is not loaded yet
blog = Blog()
blog.title = "Die Projekt-Startseite"
blog.description = "Offenbar ist die Datenbank noch nicht erstellt. Bitte führen Sie folgende Codezeilen in der " \
"Konsole aus: <br>" \
"1.<pre>manage.py migrate</pre>" \
"2.<pre>manage.py loaddata blog</pre>"
return render(request, 'startpage/home.html', {'blog': blog})
......@@ -6,21 +6,14 @@
{% bootstrap_javascript %}
{% bootstrap_css %}
<meta charset="UTF-8">
<title>Personal Blog</title>
<title>{{blog.title}}</title>
</head>
<div class="jumbotron jumbotron-fluid">
<div class="container">
<h1 class="display-4">Die Projekt-Startseite</h1>
<p class="lead">
Autoren: <br>
Svenja Behr, <br>
Dennis Nikolas Falk, <br>
Alexander Tang</p>
<p>
Datenbank: djangoblog.sqlite3, <br>
Login: admin <br>
Password: blog1234
</p>
<h1 class="display-4">{{blog.title}}</h1>
{% autoescape off %}
{{blog.description}}
{% endautoescape %}
<a href="{% url 'blog:all_blogs' %}" class="btn btn-primary">Hier starten bitte...</a>
</div>
</div>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment