erichhasl 8 лет назад
Родитель
Сommit
c228dae963
8 измененных файлов: 183 добавлений и 22 удалений
  1. +14
    -2
      web_dev/sas_web/news/admin.py
  2. +32
    -1
      web_dev/sas_web/news/models.py
  3. +11
    -1
      web_dev/sas_web/news/static/news/css/partei.css
  4. +44
    -6
      web_dev/sas_web/news/templates/news/index.html
  5. +27
    -7
      web_dev/sas_web/news/templates/news/partei.html
  6. +47
    -0
      web_dev/sas_web/news/templates/news/praesident.html
  7. +1
    -1
      web_dev/sas_web/news/urls.py
  8. +7
    -4
      web_dev/sas_web/news/views.py

+ 14
- 2
web_dev/sas_web/news/admin.py Просмотреть файл

@@ -1,14 +1,26 @@
from django.contrib import admin
from .models import ParteiWerbung, PraesidentWerbung
from .models import ParteiWerbung, PraesidentWerbung, ParteiAnhang, \
PraesidentAnhang


class ParteiAnhangInline(admin.TabularInline):
model = ParteiAnhang
extra = 0


class PraesidentAnhangInline(admin.TabularInline):
model = PraesidentAnhang
extra = 0


# Register your models here.
class ParteiWerbungAdmin(admin.ModelAdmin):
list_display = ('partei',)
inlines = [ParteiAnhangInline]


class PraesidentWerbungAdmin(admin.ModelAdmin):
list_display = ('praesident',)
inlines = [PraesidentAnhangInline]

admin.site.register(ParteiWerbung, ParteiWerbungAdmin)
admin.site.register(PraesidentWerbung, PraesidentWerbungAdmin)

+ 32
- 1
web_dev/sas_web/news/models.py Просмотреть файл

@@ -19,13 +19,44 @@ class ParteiWerbung(models.Model):
verbose_name_plural = 'Parteienwerbung'


class ParteiAnhang(models.Model):
name = models.CharField('Name', max_length=100)
data = models.FileField('Datei')
partei = models.ForeignKey(ParteiWerbung)

def __str__(self):
return self.name

class Meta:
verbose_name = 'Anhang'
verbose_name_plural = 'Anhänge'


class PraesidentWerbung(models.Model):
praesident = models.ForeignKey('meingoethopia.PresidentCandidate')
image = models.ImageField('Bild', upload_to='praesident_bilder')
wahlprogramm = models.TextField('Wahlprogramm')

@property
def url(self):
return "/wahl/praesident/{}".format(self.pk)

def __str__(self):
return str(self.partei)
return str(self.praesident)

class Meta:
verbose_name = 'Präsidentwerbung'
verbose_name_plural = 'Präsidentenwerbung'


class PraesidentAnhang(models.Model):
name = models.CharField('Name', max_length=100)
data = models.FileField('Datei')
praesident = models.ForeignKey(PraesidentWerbung)

def __str__(self):
return self.name

class Meta:
verbose_name = 'Anhang'
verbose_name_plural = 'Anhänge'

+ 11
- 1
web_dev/sas_web/news/static/news/css/partei.css Просмотреть файл

@@ -1,3 +1,13 @@
#partei_bild {
max-width: 20%
max-width: 50%;
margin-top: 20px;
margin-bottom: 50px;
}

.trpartei {
line-height: 25px;
}

.tablepartei {
width: 100%;
}

+ 44
- 6
web_dev/sas_web/news/templates/news/index.html Просмотреть файл

@@ -13,13 +13,10 @@
</tr>
<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!
</p>
<h3>Parteien</h3>
</td>
</tr>
{% if rows|length == 0 %}
{% if parteien|length == 0 %}
<tr>
<td class="tdnews" colspan="3">
<p id="description">
@@ -28,7 +25,7 @@
</td>
</tr>
{% endif %}
{% for row in rows %}
{% for row in parteien %}
<tr class="trnews">
{% for entry in row %}
<td class="tdnews" align="{% cycle "left" "center" "right" %}">
@@ -46,4 +43,45 @@
{% endfor %}
</table>
</div>

<!-- PRÄSIDENT -->
<div id="news_html">
<table class="tablenews">
<tr>
<th style="width:33%"/>
<th style="width:33%"/>
<th style="width:33%"/>
</tr>
<tr class="trnews">
<td class="tdnews" colspan="3">
<h3>Präsidentschaftskandidaten</h3>
</td>
</tr>
{% if praesidenten|length == 0 %}
<tr>
<td class="tdnews" colspan="3">
<p id="description">
<b>Keine Präsidenten gefunden</b>
</p>
</td>
</tr>
{% endif %}
{% for row in praesidenten %}
<tr class="trnews">
{% for entry in row %}
<td class="tdnews" align="{% cycle "left" "center" "right" %}">
<div class="polaroid">
<a class="thumbnail" href="{{ entry.url }}">
<img src="{{ entry.image.url }}" alt="Verfassung">
</a>
<div class="container">
<p>{{ entry.praesident.name }}</p>
</div>
</div>
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
</div>
{% endblock %}

+ 27
- 7
web_dev/sas_web/news/templates/news/partei.html Просмотреть файл

@@ -5,33 +5,53 @@

<link rel="stylesheet" type="text/css" href="{% static "news/css/partei.css"%}">

<img src="{{ entry.image.url }}" id="partei_bild">
<p><a href="{% url "news:index" %}">Zurück zur Übersicht</a></p>

<table>
<div style="width:100%;">
<img src="{{ entry.image.url }}" id="partei_bild">
</div>

<table class="tablepartei">
<tr>
<th style="width:20%"/>
<th style="width:80%"/>
</tr>
<tr class="trpartei">
<td>
<p>Name</p>
<p><b>Name</b></p>
</td>
<td>
<p>{{ entry.partei.name }} ({{ entry.partei.abbreviation }})</p>
</td>
</tr>
<tr>
<tr class="trpartei">
<td>
<p>Vorsitzende(r)</p>
<p><b>Vorsitzende(r)</b></p>
</td>
<td>
<p>{{ entry.partei.chef }}</p>
</td>
</tr>
<tr>
<tr class="trpartei">
<td>
<p>Wahlprogramm</p>
<p><b>Wahlprogramm</b></p>
</td>
<td>
<p>{{ entry.wahlprogramm }}</p>
</td>
</tr>
<tr class="trpartei">
<td>
<p><b>Weitere Informationen</b></p>
</td>
<td>
{% for attachment in entry.parteianhang_set.all %}
<a href="{{ attachment.data.url }}">{{ attachment.name }}</a><br>
{% endfor %}
</td>
</tr>
</table>

<p><a href="{% url "news:index" %}">Zurück zur Übersicht</a></p>

{% endblock %}

+ 47
- 0
web_dev/sas_web/news/templates/news/praesident.html Просмотреть файл

@@ -0,0 +1,47 @@
{% extends "public/default.html" %}
{% load static %}

{% block content %}

<link rel="stylesheet" type="text/css" href="{% static "news/css/partei.css"%}">

<div style="width:100%;">
<img src="{{ entry.image.url }}" id="partei_bild">
</div>

<table class="tablepartei">
<tr>
<th style="width:20%"/>
<th style="width:80%"/>
</tr>
<tr class="trpartei">
<td>
<p><b>Name</b></p>
</td>
<td>
<p>{{ entry.praesident.name }}</p>
</td>
</tr>
<tr class="trpartei">
<td>
<p><b>Wahlprogramm</b></p>
</td>
<td>
<p>{{ entry.wahlprogramm }}</p>
</td>
</tr>
<tr class="trpartei">
<td>
<p><b>Weitere Informationen</b></p>
</td>
<td>
{% for attachment in entry.praesidentanhang_set.all %}
<a href="{{ attachment.data.url }}">{{ attachment.name }}</a><br>
{% endfor %}
</td>
</tr>
</table>

<p><a href="{% url "news:index" %}">Zurück zur Übersicht</a></p>

{% endblock %}

+ 1
- 1
web_dev/sas_web/news/urls.py Просмотреть файл

@@ -5,5 +5,5 @@ from . import views
urlpatterns = [
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')
url(r'^praesident/(?P<praesident_id>[0-9]+)', views.praesident, name='praesident')
]

+ 7
- 4
web_dev/sas_web/news/views.py Просмотреть файл

@@ -6,10 +6,13 @@ from .models import ParteiWerbung, PraesidentWerbung

# Create your views here.
def index(request):
objects = ParteiWerbung.objects.all()
rows = group(objects, 3)
return render(request, "news/index.html", {'rows': rows,
})
partei_objs = ParteiWerbung.objects.all()
parteien = group(partei_objs, 3)

praesident_objs = PraesidentWerbung.objects.all()
praesidenten = group(praesident_objs, 3)
return render(request, "news/index.html",
{'parteien': parteien, 'praesidenten': praesidenten})


def partei(request, partei_id):


Загрузка…
Отмена
Сохранить