ソースを参照

add partei page for wahl

master
erichhasl 8年前
コミット
d9a74f45ef
9個のファイルの変更126行の追加17行の削除
  1. +6
    -1
      web_dev/sas_web/news/admin.py
  2. +8
    -1
      web_dev/sas_web/news/models.py
  3. +45
    -0
      web_dev/sas_web/news/static/news/css/index.css
  4. +3
    -0
      web_dev/sas_web/news/static/news/css/partei.css
  5. +11
    -11
      web_dev/sas_web/news/templates/news/index.html
  6. +37
    -0
      web_dev/sas_web/news/templates/news/partei.html
  7. +3
    -1
      web_dev/sas_web/news/urls.py
  8. +11
    -1
      web_dev/sas_web/news/views.py
  9. +2
    -2
      web_dev/sas_web/sas_web/urls.py

+ 6
- 1
web_dev/sas_web/news/admin.py ファイルの表示

@@ -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)

+ 8
- 1
web_dev/sas_web/news/models.py ファイルの表示

@@ -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)


+ 45
- 0
web_dev/sas_web/news/static/news/css/index.css ファイルの表示

@@ -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;
}

+ 3
- 0
web_dev/sas_web/news/static/news/css/partei.css ファイルの表示

@@ -0,0 +1,3 @@
#partei_bild {
max-width: 20%
}

+ 11
- 11
web_dev/sas_web/news/templates/news/index.html ファイルの表示

@@ -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>


+ 37
- 0
web_dev/sas_web/news/templates/news/partei.html ファイルの表示

@@ -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
web_dev/sas_web/news/urls.py ファイルの表示

@@ -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')
]

+ 11
- 1
web_dev/sas_web/news/views.py ファイルの表示

@@ -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))]

+ 2
- 2
web_dev/sas_web/sas_web/urls.py ファイルの表示

@@ -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 += [
url(r'^news/', include('news.urls',
namespace='news',
url(r'^wahl/', include('news.urls',
namespace='wahl',
app_name='news')),
url(r'^meingoethopia/', include('meingoethopia.urls',
namespace='meingoethopia',


読み込み中…
キャンセル
保存