Installation¶
Dieses Dokument setzt voraus, dass Sie grundsätzlich mit der Entwicklung und den tools von Python und Django vertraut sind. Falls nein, lesen Sie bitte zuerst pip, virtualenv und virtualenvwrapper. Ein einfaches Verständnis davon ist ausreichend.
Voraussetzungen¶
Python 2.7, 3.3 oder 3.4
Alle anderen Abhängigkeiten werden durch den django Organice Installer aufgelöst. Die meisten dieser Abängigkeiten sind bewusst nicht auf ihre Versionsnummer gepinned, um einen liberalen Upgrade-Pfad zu erlauben. Bestätigte, funktionierende Abhängigkeiten sind im CHANGELOG für jedes Release dokumentiert.
Für die Installation empfohlen¶
- pip
- virtualenv
- virtualenvwrapper
django Organice installieren¶
Wir empfehlen, ein Virtual Environment für den Betrieb von django Organice anzulegen:
$ mkvirtualenv example $ workon example
Die Eingabeaufforderung verändert sich in etwas wie
(example)~$
, um anzuzeigen, dass Ihr neues Virtual Environment aktiv ist.Am einfachsten klappt die Installation mit
pip
:$ pip install django-organice
Damit wird das neueste django Organice-Paket aus dem Internet heruntergeladen und alle Abhängigkeiten automatisch installiert.
Wenn Sie Entwickler sind, möchten Sie vielleicht den letzten Stand von django Organice als Quellcode ziehen: (tun Sie das nicht als einfacher Benutzer)
$ git clone https://github.com/Organice/django-organice.git $ cd django-organice $ python setup.py install
oder alternativ mit pip:
$ pip install git+https://github.com/Organice/django-organice.git#egg=django-organice
Installieren Sie den Datenbankadapter, der zu Ihrer Datenbank passt (PostgreSQL
psycopg2
, MySQLMySQL-python
, Oraclecx_Oracle
, etc.), z.B.$ pip install psycopg2
Das Django-Projekt empfiehlt PostgreSQL.
Bemerkung
Sie können diesen Schritt überspringen, wenn Sie SQLite verwenden möchten, z.B. zur Evaluierung von django Organice.
Führen Sie den Organice Setup-Befehl zum Erstellen Ihres neuen Projektes aus: (z.B. example)
$ organice-setup example
Bearbeiten Sie Ihre settings in
example/settings/common.py
,example/settings/develop.py
, etc. Ziehen Sie die Django documentation zu Rate, wenn Sie mit bestimmten settings nicht vertraut sind. Diedevelop
settings werden von Ihrem Projekt standardmäßig benutzt (lokale Entwicklung),common
wird in alle Profile eingebunden.Initialisieren der Datenbank:
$ python manage.py organice bootstrap
Damit wird Ihre Datenbank vorbereitet und ein paar Beispiel-Inhalte eingepflegt. Wenn Sie bevorzugen, mit einer sauberen Datenbank zu starten, führen Sie stattdessen nur
migrate
:$ python manage.py migrate
Ihr Django-Projekt starten:
$ python manage.py runserver
Sie können mit Ihrem Web-Browser jetzt die Adresse http://127.0.0.1:8000/ öffnen und beginnen, Ihr Projekt lokal zu entwickeln.
Bemerkung
Wenn Sie vorhaben, Ihre Inhalte lokal zu erstellen, stellen Sie sicher, dass Sie die gleiche Datenbank-Engine für lokalen Entwicklung und Produktion verwenden. Ihr Plan, den gesamten Datenbankinhalt von der Entwicklungsumgebung in die Produktionsumgebung zu bewegen wird Ihnen sonst größere Kopfschmerzen bereiten. Und, verwenden Sie Sqlite nur zum Evaluieren!
Konfiguration zu Beginn¶
Folgen Sie den Anweisungen des django Organice Installers
organice-setup
, sobald das Setup abgeschlossen ist. Sie müssen ein paar Werte in Ihren Projekt-settings anpassen!Wenn Sie auf Ihrer Website eine andere Sprache als Englisch verwenden möchten oder wenn Sie mehrere Sprachen verwenden wollen: Passen Sie die Werte von
LANGUAGE_CODE
undLANGUAGES
an und setzen SieUSE_I18N = True
in Ihren Projekt-settings.Nach der Installation ist django Organice konfiguriert, wenn Sie aber nicht den
bootstrap
Management Command ausgeführt haben, ist die Datenbank ohne Inhalte für Ihre Website. Sie können etwas an Beispiel-Inhalten und andere Daten hinzufügen, indem Sie einen oder alle der folgenden Befehle ausführen:$ python manage.py organice initauth # prepare social auth provider configuration $ python manage.py organice initcms # add pages for your website $ python manage.py organice initblog # add blog categories and posts
Alternativ legen Sie Ihre ersten Seiten, Blog-Einträge und Newsletter-Daten händisch an:
Fügen Sie einige Seiten in der Django-Administration unter Cms > Pages hinzu und veröffentlichen Sie Ihre Änderungen.
Gehen Sie auf Ihre neue Website und befüllen Sie Ihre neuen Seiten mit Inhalt, indem Sie das Front-end Editing-Feature verwenden.
Gehen Sie zu
/blog/
auf Ihrer Website und legen Sie Blog-Einträge an.Fügen Sie in der Django Administration unter Newsletter > Contacts einen Benutzer hinzu.
Fügen Sie
localhost
(oder geeigneten Server) zu Newsletter > SMTP servers hinzu.Um das Subscribe-Feature auf der Website zu aktivieren (von
/newsletter/subscribe
), fügen Sie eine Liste zu Newsletter > Mailing lists hinzu.Erstellen Sie nun Ihren ersten Newsletter unter Newsletter > Newsletters.
Um Vorlagen zu Emencia Newsletter hinzuzufügen, ziehen Sie bitte den diesbezüglichen Abschnitt in der TinyMCE 3.x documentation zu Rate.
Damit das Versenden von Newslettern funktioniert, müssen Sie einen cronjob konfigurieren, der auf
python manage.py send_newsletter
jede halbe Stunde pollt. Wenn das für Sie gerade Spanisch war, fragen Sie bitte Ihren Server Admin um Hilfe. Sie weiß garantiert Bescheid!
Deployment in Produktion¶
Während der Installation hat organice-setup
3 unterschiedliche Umgebungen vorbereitet, die Ihnen beim Deployment helfen:
example
├── settings
│ ├── __init__.py
│ ├── common.py
│ ├── develop.py
│ ├── staging.py
│ └── production.py
Dieses modularisierte Setup ist in Lösung 2 von Tommy Jarnac’s Blog-Eintrag zu Django settings best practices [1] beschrieben. Die develop
settings sind standardmäßig aktiv (für lokale Entwicklung), common
wird in alle Profile eingebunden.
Für ein Deployment in alle Umgebungen ungleich develop
muss das verwendete settings-Modul durch das Setzen der Django Umgebungsvariablen DJANGO_SETTINGS_MODULE
festgelegt werden. Zum Beispiel, wenn Sie Apache als Ihren Django Webserver verwenden, passen Sie Ihre Apache-Konfiguration für example
an mit:
SetEnv DJANGO_SETTINGS_MODULE example.settings.production
Bemerkung
Um unterschiedliche settings lokal zu testen, können Sie den Django Webserver mit der --settings
Option starten:
$ python manage.py runserver --settings=example.settings.staging
Zu guter Letzt, stellen Sie sicher, dass Sie die deployment checklist des Django-Projekts konsultiert haben und den beschriebenen Best Practices folgen.
[1] | David Cramer von DISQUS hat eine ähnliche Lösung unter http://justcramer.com/2011/01/13/settings-in-django/ beschrieben |