Dieser Abschnitt beschreibt die Erstellung eines neuen Skins für die Konferenzsoftware. Im Wesentlichen wird ein neues Skin erstellt, indem Basis-Templates, Styles und Grafikelement hinzugefügt und eingerichtet werden.
Skins sind als Django-Apps realisiert und werden zur besseren Übersichtlichkeit im Skin-Verzeichnis pyconde/skins/ abgelegt.
Um ein neues Skin zu erstellen wird eine neue App im Skin-Verzeichnis mit der folgenden Dateistruktur angelegt:
+- skins/
+- myskin/
| |- __init__.py
| |- views.py
| |- models.py
| +- templates/
| | |- base.html
| | |- ...
| +- static/
| | +- css/
| | | |- style.less
| | | |- ...
| | +- images/
| | | |- ...
| | +- js/
| | | |- ...
Die Dateien __init__.py, views.py und models.py können dabei leer bleiben. templates/base.html sollte von site_structure.html abgeleitet sein. static/css/style.less wird beim Deployment zur Generierung der CSS-Dateien verwenden.
Der Default-Skin stellt eine Reihe an Templates bereit, die von anderen Applikationen, wie zum Beispiel dem CMS, benötigt werden. Daher sollte neben myskin auch das Default-Skin eingebunden werden und zwar derart, dass das Default-Skin nach dem eigenen Skin von Django betrachtet wird:
INSTALLED_APPS = (
...
# Skins
'pyconde.skins.myskin',
'pyconde.skins.default',
...
)
Die Datei pyconde/skins/default/templates/base.html bietet eine gute Vorlage für ein Basis-Template im eigenen Skin, indem es die wichtigsten Blöcke und Template-Tags, die zur vollständigen Darstellung benötigt werden aufzeigt.