add partei page for wahl
This commit is contained in:
@@ -1,9 +1,14 @@
|
||||
from django.contrib import admin
|
||||
from .models import ParteiWerbung
|
||||
from .models import ParteiWerbung, PraesidentWerbung
|
||||
|
||||
|
||||
# Register your models here.
|
||||
class ParteiWerbungAdmin(admin.ModelAdmin):
|
||||
list_display = ('partei',)
|
||||
|
||||
|
||||
class PraesidentWerbungAdmin(admin.ModelAdmin):
|
||||
list_display = ('praesident',)
|
||||
|
||||
admin.site.register(ParteiWerbung, ParteiWerbungAdmin)
|
||||
admin.site.register(PraesidentWerbung, PraesidentWerbungAdmin)
|
||||
|
||||
@@ -4,6 +4,12 @@ from django.db import models
|
||||
# Create your models here.
|
||||
class ParteiWerbung(models.Model):
|
||||
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):
|
||||
return str(self.partei)
|
||||
@@ -14,7 +20,8 @@ class ParteiWerbung(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):
|
||||
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 %}
|
||||
<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>
|
||||
<th style="width:33%"/>
|
||||
<th style="width:33%"/>
|
||||
<th style="width:33%"/>
|
||||
</tr>
|
||||
<tr class="trdatabase">
|
||||
<td class="tddatabase" colspan="3">
|
||||
<tr class="trnews">
|
||||
<td class="tdnews" colspan="3">
|
||||
<p id="description">
|
||||
Bald wird gewählt in Goethopia! Hier erfährst du welche Parteien zur Wahl stehen
|
||||
und wer als Präsidentin kandidiert!
|
||||
@@ -21,7 +21,7 @@
|
||||
</tr>
|
||||
{% if rows|length == 0 %}
|
||||
<tr>
|
||||
<td class="tddatabase" colspan="3">
|
||||
<td class="tdnews" colspan="3">
|
||||
<p id="description">
|
||||
<b>Keine Parteien gefunden</b>
|
||||
</p>
|
||||
@@ -29,13 +29,13 @@
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% for row in rows %}
|
||||
<tr class="trdatabase">
|
||||
<tr class="trnews">
|
||||
{% for entry in row %}
|
||||
<td class="tddatabase" align="{% cycle "left" "center" "right" %}">
|
||||
<td class="tdnews" align="{% cycle "left" "center" "right" %}">
|
||||
<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">
|
||||
<p>{{ entry.partei.name }}</p>
|
||||
</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
|
||||
|
||||
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
|
||||
import math
|
||||
|
||||
from .models import ParteiWerbung
|
||||
from .models import ParteiWerbung, PraesidentWerbung
|
||||
|
||||
|
||||
# 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):
|
||||
return [l[k*n:k*n+n] for k in range(math.ceil(len(l) / n))]
|
||||
|
||||
Reference in New Issue
Block a user