brew install openldap Erstellen Sie virtuelle Umgebung und cd dazu
python3 -m venv ENV
cd ENV
Klon -Repo zu einem Unterverzeichnis (Ex. git clone REPO_URL src )
Aktivieren Sie die virtuelle Umgebung
source bin/activate
cd zu einem neuen SRC -Verzeichnis und installieren Anforderungen
cd src
pip install -r requirements.txt
HINWEIS: Wenn pip install einen Fehlerblock mit fatal error: 'sasl.h' file not found bei der Installation python-ldap nicht zu finden ist, machen Sie Folgendes:
In Anforderungen.txt kommentieren Sie die python-ldap Anforderung.
pip install -r requirements.txt neu. Es sollte erfolgreich abgeschlossen werden.
Führen Sie Folgendes aus und ersetzen Sie "Version" durch die für das python-ldap Paket in Anforderungen angegebene Versionsnummer.txt:
pip install python-ldap==VERSION
--global-option=build_ext
--global-option="-I$(xcrun --show-sdk-path)/usr/include/sasl"
Entsetzt die python-ldap -Anforderung in Anforderungen.txt und speichern Sie die Datei.
Richten Sie die lokalen Einstellungen mit der Datei "Einstellungen_local.templ.py" ein
Richten
Führen Sie den Befehl zur Bereitstellung aus: python manage.py deploy . Dadurch wird Migrationen ausgeführt und sammelt die statischen Dateien.
Erstellen Sie einen Superuser: python manage.py createsuperuser
Wenn Sie nicht beabsichtigen, vorhandene Kalenderdaten zu importieren, erstellen Sie einen Hauptkalender und weisen Sie Ihr Superuser -Konto als Eigentümer zu. Überspringen Sie diesen Schritt ansonsten
python manage.py shell
>>> from django.contrib.auth.models import User
>>> from events.models import Calendar
>>> u = User.objects.get(pk=1)
>>> c = Calendar(title='Events at UCF', owner=u)
>>> c.save()
>>> exit()
Beachten Sie, dass dieser Importeur nur in einer neuen Datenbank ausgeführt werden sollte, unmittelbar nach Ausführung python manage.py syncdb oder python manage.py flush .
Stellen Sie vor dem Ausführen dieses Imports sicher, dass ein neuer Benutzer für jeden nicht-basierten Benutzer im UNL-System in Django erstellt wurde. Die Ereignisse dieser Benutzer werden sonst nicht importiert werden.
CD zum neuen SRC -Ordner der virtuellen Umgebung
Aktivieren Sie die virtuelle Umgebung
source ../bin/activate
Fügen Sie die Datenbankinformationen für alte Ereignisse zu Einstellungen_local.py unter Datenbanken hinzu. Stellen Sie sicher, dass aktiviert werden_clearcache auf "false" gesetzt sind.
Importbefehl ausführen
python manage.py import-unl-events
Starten Sie die App neu
Bieten Sie nach Bedarf Cache
CD zum neuen SRC -Ordner der virtuellen Umgebung
Aktivieren Sie die virtuelle Umgebung
source ../bin/activate
Stellen Sie sicher, dass Maps_domain und location_data_url in settings_local.py festgelegt sind, und das enable_clearcache auf "false" gesetzt.
Importbefehl ausführen
python manage.py import-locations
Starten Sie die App neu
Bieten Sie nach Bedarf Cache
Verpflichten Sie sich niemals direkt zum Meister. Erstellen Sie einen Zweig oder eine Gabel und arbeiten Sie an der neuen Funktion. Sobald es abgeschlossen ist, wird es zum Master -Zweig zurückgeführt.
Wenn Sie einen Zweig verwenden, um eine Funktion zu entwickeln, stellen Sie sicher, dass Sie den alten Zweig löschen, sobald er mit dem Master zusammengeführt wurde.
Dieses Projekt verwendet Gulp, um verschiedene Aufgaben zu erledigen, z. B. das Kompilieren und Minimieren von SASS -Dateien und das Minimieren/Hässlichen JavaScript. Verwenden Sie die folgenden Schritte, um den Gulp für dieses Projekt einzurichten.
npm install um Knotenpakete zu installieren, die in package.json definiert sind.gulp-config.template.json , nehmen Sie alle gewünschten Änderungen vor und speichern Sie als gulp-config.json .gulp default aus, um alle Front-End-Komponenten zu installieren und statische Vermögenswerte zu kompilieren.gulp watch während der Entwicklung aus, um statische Dateiänderungen automatisch zu erkennen. Wenn eine Änderung erkannt wird, werden die Befehle von Minifikation und Kompilierung automatisch ausgeführt. Wenn Sie BrowserSync in gulp-config.json aktiviert haben, laden Sie Ihren Browser auch neu, wenn sich SCSS- oder JS-Dateien ändern.static_files/static/ ) auf das Repo gedrückt werden, wenn Änderungen an statischen Dateien vorgenommen werden. Alle roh -benutzerdefinierten Stile für dieses Projekt sind in separaten SASS -Dateien in static_files/assets/scss/ enthalten. Wenn Sie Stylesheets in diesem Projekt ändern, ändern Sie nur die Dateien in diesem Verzeichnis. Ändern Sie keine Dateien in static_files/static/css/ direkt ! SASS -Dateien kompilieren und schreiben in dieses Verzeichnis.
Partielle SASS -Dateien werden im Allgemeinen nach Funktions getrennt und müssen in einer bestimmten Reihenfolge zusammengestellt werden.
Dieses Projekt kombiniert Anbieter JavaScript -Bibliotheken mit unseren eigenen, so dass weniger Dateien an den Client geliefert werden müssen. Die folgende Liste enthält das grundlegende Schema für Verkettung/Hässlicher.
Skripte, die mit *vendor* gekennzeichnet sind, werden als NPM -Pakete abgerufen und in Projektdateien verkettet, die sie während der Gulp -Verarbeitung enthalten.
Skripte, die mit *project* gekennzeichnet sind, werden von diesem Projekt gepflegt und können in static_files/assets/js gefunden. Ändern Sie keine Dateien in static_files/static/js/ direkt .
Zusätzlich zu den oben aufgeführten Skripten wird die Tinymce -Bibliothek während der Gulp -Verarbeitung in ein eigenes Unterverzeichnis static_files/static/js/wysiwyg kopiert. Tinymce erwartet standardmäßig, dass sich seine Themen, Plugins und Skins im Verhältnis zum Root -Verzeichnis des Primär -Tinymce -Skripts in Unterverhandlungen befinden. Daher behalten wir die Verzeichnisstruktur so genau wie möglich bei, während wir nur die spezifischen Plugins/Skins/Themen auswählen, die für das Ereignissystem benötigt werden, um Bloat im Repo zu vermeiden.
Wir wenden auch Anpassungen an die Standard -Tinymce Skin "LightGray" an, nachdem das Verzeichnis das Kopieren des Komponentenverzeichnisses abgeschlossen hat. Diese Anpassungen sollten in static_files/assets/scss/content.scss geändert werden.