add partei page for wahl

This commit is contained in:
erichhasl
2018-01-08 16:05:24 +01:00
parent 115ea6093a
commit d9a74f45ef
9 changed files with 126 additions and 17 deletions
+6 -1
View File
@@ -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)
+8 -1
View File
@@ -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%
}
+11 -11
View File
@@ -3,16 +3,16 @@
{% block content %} {% block content %}
<p></p> <p></p>
<link rel="stylesheet" type="text/css" href="{% static "datenbank/css/index.css"%}"> <link rel="stylesheet" type="text/css" href="{% static "news/css/index.css"%}">
<div id="datenbank_html"> <div id="news_html">
<table class="tabledatabase"> <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"> <tr class="trnews">
<td class="tddatabase" colspan="3"> <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 }}">--> <a class="thumbnail" href="{{ entry.url }}">
<!--<img src="{{ entry.image.url }}" alt="Verfassung">--> <img src="{{ entry.image.url }}" alt="Verfassung">
<!--</a>--> </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 -1
View File
@@ -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')
] ]
+11 -1
View File
@@ -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))]
+2 -2
View File
@@ -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', url(r'^wahl/', include('news.urls',
namespace='news', namespace='wahl',
app_name='news')), app_name='news')),
url(r'^meingoethopia/', include('meingoethopia.urls', url(r'^meingoethopia/', include('meingoethopia.urls',
namespace='meingoethopia', namespace='meingoethopia',