| @@ -15,3 +15,5 @@ my.cnf | |||
| venv | |||
| */*/*/migrations/* | |||
| web_dev/media/* | |||
| @@ -1,46 +0,0 @@ | |||
| #datenbank_html { | |||
| margin-left: 2%; | |||
| width: 96%; | |||
| } | |||
| tabledatabase { | |||
| width: 100%; | |||
| } | |||
| .trdatabase { | |||
| padding-top: 50px; | |||
| padding-bottom: 50px; | |||
| } | |||
| .tddatabase { | |||
| padding-left: 10px; | |||
| padding-right: 10px; | |||
| padding-bottom: 10px; | |||
| padding-top: 10px; | |||
| } | |||
| thumbnail { | |||
| display: inline-block; | |||
| border: 1px solid black; | |||
| width: 20%; | |||
| } | |||
| img { | |||
| max-width: 100%; | |||
| height: auto; | |||
| } | |||
| div.polaroid { | |||
| border: 2px solid #e7e7e7; | |||
| width: 80%; | |||
| background-color: white; | |||
| box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); | |||
| margin-bottom: 25px; | |||
| } | |||
| div.container { | |||
| text-align: center; | |||
| padding: 10px 20px; | |||
| font-family: Helvetica, serif; | |||
| font-size: 12px; | |||
| } | |||
| #description { | |||
| text-align: center; | |||
| } | |||
| @@ -1,43 +0,0 @@ | |||
| <div id="datenbank_html"> | |||
| <table class="tabledatabase"> | |||
| <tr class="trdatabase"> | |||
| <td class="tddatabase", colspan=4> | |||
| <p id="description"> | |||
| Dies ist eine Datenbank mit allen Dokumenten, die die Goethopische Agentur für politische Bildung herausgebracht hat. Jedes der Elemente ist auf das dazugehörige PDF-Dokument verlinkt. | |||
| </p> | |||
| </td> | |||
| </tr> | |||
| <tr class="trdatabase"> | |||
| <td class="tddatabase", align="left"> | |||
| <div class="polaroid"> | |||
| <a class="thumbnail" href="http://www.none.com"> | |||
| <img src="verfassung.jpg" alt="Verfassung"> | |||
| </a> | |||
| <div class="container"> | |||
| <p>Die Verfassung von Goethopia</p> | |||
| </div> | |||
| </div> | |||
| </td> | |||
| <td class="tddatabase" align="center"> | |||
| <div class="polaroid"> | |||
| <a class="thumbnail" href="http://www.none.com"> | |||
| <img src="geschaeftsordnung.jpg" alt="Geschaeftsordnung"> | |||
| </a> | |||
| <div class="container"> | |||
| <p>Die Geschäftsordnung des Parlaments</p> | |||
| </div> | |||
| </div> | |||
| </td> | |||
| <td class="tddatabase" align="right"> | |||
| <div class="polaroid"> | |||
| <a class="thumbnail" href="http://www.none.com"> | |||
| <img src="faq_1.jpg" alt="Informationsblatt 1"> | |||
| </a> | |||
| <div class="container"> | |||
| <p>Informationsblatt der APB, Ausgabe 1</p> | |||
| </div> | |||
| </div> | |||
| </td> | |||
| </tr> | |||
| </table> | |||
| </div> | |||
| @@ -1,3 +1,10 @@ | |||
| from django.contrib import admin | |||
| from .models import Entry | |||
| # Register your models here. | |||
| class EntryAdmin(admin.ModelAdmin): | |||
| pass | |||
| admin.site.register(Entry, EntryAdmin) | |||
| @@ -1,3 +1,9 @@ | |||
| from django.db import models | |||
| # Create your models here. | |||
| class Entry(models.Model): | |||
| title = models.CharField(max_length=100) | |||
| pub_date = models.DateTimeField('Veröffentlichungsdatum') | |||
| image = models.ImageField('Vorschaubild', upload_to='thumbnails') | |||
| element = models.FileField('Datei', upload_to='datastorage') | |||
| @@ -0,0 +1,45 @@ | |||
| #datenbank_html { | |||
| margin-left: 2%; | |||
| width: 96%; | |||
| } | |||
| .tabledatabase { | |||
| width: 100%; | |||
| } | |||
| .trdatabase { | |||
| padding-top: 50px; | |||
| padding-bottom: 50px; | |||
| } | |||
| .tddatabase { | |||
| padding-left: 10px; | |||
| padding-right: 10px; | |||
| padding-bottom: 10px; | |||
| padding-top: 10px; | |||
| } | |||
| .thumbnail { | |||
| display: inline-block; | |||
| border: 1px solid black; | |||
| width: 20%; | |||
| } | |||
| img { | |||
| max-width: 100%; | |||
| height: auto; | |||
| } | |||
| div.polaroid { | |||
| border: 2px solid #e7e7e7; | |||
| width: 80%; | |||
| background-color: white; | |||
| box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); | |||
| margin-bottom: 25px; | |||
| } | |||
| div.container { | |||
| text-align: center; | |||
| padding: 10px 20px; | |||
| font-family: Helvetica, serif; | |||
| font-size: 12px; | |||
| } | |||
| #description { | |||
| text-align: center; | |||
| } | |||
| @@ -1,5 +1,35 @@ | |||
| {% extends "public/default.html" %} | |||
| {% load static %} | |||
| {% block content %} | |||
| <p>Datenbank</p> | |||
| <link rel="stylesheet" type="text/css" href="{% static "datenbank/css/index.css"%}"> | |||
| <div id="datenbank_html"> | |||
| <table class="tabledatabase"> | |||
| <tr class="trdatabase"> | |||
| <td class="tddatabase", colspan=4> | |||
| <p id="description"> | |||
| Dies ist eine Datenbank mit allen Dokumenten, die die | |||
| Goethopische Agentur für politische Bildung herausgebracht hat. | |||
| Jedes der Elemente ist auf das dazugehörige PDF-Dokument verlinkt. | |||
| </p> | |||
| </td> | |||
| </tr> | |||
| {% for row in rows %} | |||
| <tr class="trdatabase"> | |||
| {% for entry in row %} | |||
| <td class="tddatabase", align="{% cycle "left" "center" "right" %}"> | |||
| <div class="polaroid"> | |||
| <a class="thumbnail" href="{{ entry.element.url }}"> | |||
| <img src="{{ entry.image.url }}" alt="Verfassung"> | |||
| </a> | |||
| <div class="container"> | |||
| <p>{{ entry.title }}</p> | |||
| </div> | |||
| </div> | |||
| </td> | |||
| {% endfor %} | |||
| </tr> | |||
| {% endfor %} | |||
| </table> | |||
| </div> | |||
| {% endblock %} | |||
| @@ -1,6 +1,15 @@ | |||
| from django.shortcuts import render | |||
| import math | |||
| from .models import Entry | |||
| # Create your views here. | |||
| def index(request): | |||
| return render(request, "datenbank/index.html") | |||
| rows = group(Entry.objects.all(), 3) | |||
| print("rows", rows) | |||
| return render(request, "datenbank/index.html", {'rows': rows}) | |||
| def group(l, n): | |||
| return [l[k*n:k*n+n] for k in range(math.ceil(len(l) / n))] | |||
| @@ -15,8 +15,12 @@ Including another URLconf | |||
| """ | |||
| from django.conf.urls import include, url | |||
| from django.contrib import admin | |||
| from django.conf.urls.static import static | |||
| from django.conf import settings | |||
| urlpatterns = [ | |||
| urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) | |||
| urlpatterns += [ | |||
| url(r'^$', include('startpage.urls', namespace='startpage', app_name='startpage')), | |||
| url(r'^meingoethopia', include('meingoethopia.urls', | |||
| namespace='meingoethopia', | |||