| @@ -1,9 +1,14 @@ | |||||
| from django.contrib import admin | from django.contrib import admin | ||||
| from .models import ParteiWerbung | |||||
| from .models import ParteiWerbung, PraesidentWerbung | |||||
| # Register your models here. | # Register your models here. | ||||
| class ParteiWerbungAdmin(admin.ModelAdmin): | class ParteiWerbungAdmin(admin.ModelAdmin): | ||||
| list_display = ('partei',) | list_display = ('partei',) | ||||
| class PraesidentWerbungAdmin(admin.ModelAdmin): | |||||
| list_display = ('praesident',) | |||||
| admin.site.register(ParteiWerbung, ParteiWerbungAdmin) | admin.site.register(ParteiWerbung, ParteiWerbungAdmin) | ||||
| admin.site.register(PraesidentWerbung, PraesidentWerbungAdmin) | |||||
| @@ -4,6 +4,12 @@ from django.db import models | |||||
| # Create your models here. | # Create your models here. | ||||
| class ParteiWerbung(models.Model): | class ParteiWerbung(models.Model): | ||||
| partei = models.ForeignKey('meingoethopia.Partei') | partei = models.ForeignKey('meingoethopia.Partei') | ||||
| image = models.ImageField('Bild', upload_to='partei_bilder') | |||||
| wahlprogramm = models.TextField('Wahlprogramm') | |||||
| @property | |||||
| def url(self): | |||||
| return "/wahl/partei/{}".format(self.pk) | |||||
| def __str__(self): | def __str__(self): | ||||
| return str(self.partei) | return str(self.partei) | ||||
| @@ -14,7 +20,8 @@ class ParteiWerbung(models.Model): | |||||
| class PraesidentWerbung(models.Model): | class PraesidentWerbung(models.Model): | ||||
| partei = models.ForeignKey('meingoethopia.PresidentCandidate') | |||||
| praesident = models.ForeignKey('meingoethopia.PresidentCandidate') | |||||
| image = models.ImageField('Bild', upload_to='praesident_bilder') | |||||
| def __str__(self): | def __str__(self): | ||||
| return str(self.partei) | return str(self.partei) | ||||
| @@ -0,0 +1,45 @@ | |||||
| #news_html { | |||||
| margin-left: 2%; | |||||
| width: 96%; | |||||
| } | |||||
| .tablenews { | |||||
| width: 100%; | |||||
| } | |||||
| .trnews { | |||||
| padding-top: 50px; | |||||
| padding-bottom: 50px; | |||||
| } | |||||
| .tdnews { | |||||
| padding-left: 10px; | |||||
| padding-right: 10px; | |||||
| padding-bottom: 10px; | |||||
| padding-top: 10px; | |||||
| } | |||||
| .thumbnail { | |||||
| display: block; | |||||
| margin: 0 auto; | |||||
| width: 80%; | |||||
| } | |||||
| 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; | |||||
| } | |||||
| @@ -0,0 +1,3 @@ | |||||
| #partei_bild { | |||||
| max-width: 20% | |||||
| } | |||||
| @@ -3,16 +3,16 @@ | |||||
| {% block content %} | {% block content %} | ||||
| <p></p> | <p></p> | ||||
| <link rel="stylesheet" type="text/css" href="{% static "datenbank/css/index.css"%}"> | |||||
| <div id="datenbank_html"> | |||||
| <table class="tabledatabase"> | |||||
| <link rel="stylesheet" type="text/css" href="{% static "news/css/index.css"%}"> | |||||
| <div id="news_html"> | |||||
| <table class="tablenews"> | |||||
| <tr> | <tr> | ||||
| <th style="width:33%"/> | <th style="width:33%"/> | ||||
| <th style="width:33%"/> | <th style="width:33%"/> | ||||
| <th style="width:33%"/> | <th style="width:33%"/> | ||||
| </tr> | </tr> | ||||
| <tr class="trdatabase"> | |||||
| <td class="tddatabase" colspan="3"> | |||||
| <tr class="trnews"> | |||||
| <td class="tdnews" colspan="3"> | |||||
| <p id="description"> | <p id="description"> | ||||
| Bald wird gewählt in Goethopia! Hier erfährst du welche Parteien zur Wahl stehen | Bald wird gewählt in Goethopia! Hier erfährst du welche Parteien zur Wahl stehen | ||||
| und wer als Präsidentin kandidiert! | und wer als Präsidentin kandidiert! | ||||
| @@ -21,7 +21,7 @@ | |||||
| </tr> | </tr> | ||||
| {% if rows|length == 0 %} | {% if rows|length == 0 %} | ||||
| <tr> | <tr> | ||||
| <td class="tddatabase" colspan="3"> | |||||
| <td class="tdnews" colspan="3"> | |||||
| <p id="description"> | <p id="description"> | ||||
| <b>Keine Parteien gefunden</b> | <b>Keine Parteien gefunden</b> | ||||
| </p> | </p> | ||||
| @@ -29,13 +29,13 @@ | |||||
| </tr> | </tr> | ||||
| {% endif %} | {% endif %} | ||||
| {% for row in rows %} | {% for row in rows %} | ||||
| <tr class="trdatabase"> | |||||
| <tr class="trnews"> | |||||
| {% for entry in row %} | {% for entry in row %} | ||||
| <td class="tddatabase" align="{% cycle "left" "center" "right" %}"> | |||||
| <td class="tdnews" align="{% cycle "left" "center" "right" %}"> | |||||
| <div class="polaroid"> | <div class="polaroid"> | ||||
| <!--<a class="thumbnail" href="{{ entry.element.url }}">--> | |||||
| <!--<img src="{{ entry.image.url }}" alt="Verfassung">--> | |||||
| <!--</a>--> | |||||
| <a class="thumbnail" href="{{ entry.url }}"> | |||||
| <img src="{{ entry.image.url }}" alt="Verfassung"> | |||||
| </a> | |||||
| <div class="container"> | <div class="container"> | ||||
| <p>{{ entry.partei.name }}</p> | <p>{{ entry.partei.name }}</p> | ||||
| </div> | </div> | ||||
| @@ -0,0 +1,37 @@ | |||||
| {% extends "public/default.html" %} | |||||
| {% load static %} | |||||
| {% block content %} | |||||
| <link rel="stylesheet" type="text/css" href="{% static "news/css/partei.css"%}"> | |||||
| <img src="{{ entry.image.url }}" id="partei_bild"> | |||||
| <table> | |||||
| <tr> | |||||
| <td> | |||||
| <p>Name</p> | |||||
| </td> | |||||
| <td> | |||||
| <p>{{ entry.partei.name }} ({{ entry.partei.abbreviation }})</p> | |||||
| </td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td> | |||||
| <p>Vorsitzende(r)</p> | |||||
| </td> | |||||
| <td> | |||||
| <p>{{ entry.partei.chef }}</p> | |||||
| </td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td> | |||||
| <p>Wahlprogramm</p> | |||||
| </td> | |||||
| <td> | |||||
| <p>{{ entry.wahlprogramm }}</p> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | |||||
| {% endblock %} | |||||
| @@ -3,5 +3,7 @@ from django.conf.urls import url | |||||
| from . import views | from . import views | ||||
| urlpatterns = [ | urlpatterns = [ | ||||
| url(r'^$', views.index, name='index') | |||||
| url(r'^$', views.index, name='index'), | |||||
| url(r'^partei/(?P<partei_id>[0-9]+)', views.partei, name='partei'), | |||||
| url(r'^partei/(?P<praesident_id>[0-9]+)', views.praesident, name='praesident') | |||||
| ] | ] | ||||
| @@ -1,7 +1,7 @@ | |||||
| from django.shortcuts import render | from django.shortcuts import render | ||||
| import math | import math | ||||
| from .models import ParteiWerbung | |||||
| from .models import ParteiWerbung, PraesidentWerbung | |||||
| # Create your views here. | # Create your views here. | ||||
| @@ -12,5 +12,15 @@ def index(request): | |||||
| }) | }) | ||||
| def partei(request, partei_id): | |||||
| return render(request, "news/partei.html", | |||||
| {'entry': ParteiWerbung.objects.get(pk=partei_id)}) | |||||
| def praesident(request, praesident_id): | |||||
| return render(request, "news/praesident.html", | |||||
| {'entry': PraesidentWerbung.objects.get(pk=praesident_id)}) | |||||
| def group(l, n): | def group(l, n): | ||||
| return [l[k*n:k*n+n] for k in range(math.ceil(len(l) / n))] | return [l[k*n:k*n+n] for k in range(math.ceil(len(l) / n))] | ||||
| @@ -23,8 +23,8 @@ from .views import error_400, error_403, error_404, error_500 | |||||
| urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) | urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) | ||||
| urlpatterns += [ | urlpatterns += [ | ||||
| url(r'^news/', include('news.urls', | |||||
| namespace='news', | |||||
| url(r'^wahl/', include('news.urls', | |||||
| namespace='wahl', | |||||
| app_name='news')), | app_name='news')), | ||||
| url(r'^meingoethopia/', include('meingoethopia.urls', | url(r'^meingoethopia/', include('meingoethopia.urls', | ||||
| namespace='meingoethopia', | namespace='meingoethopia', | ||||