Ich bin ein Junior-Software-Ingenieur und neu bei Django. Ich baute diese App und arbeite an einem README, um anderen zu erklären, wie man die App auf ihren eigenen Maschinen aufspalten, klonen und einrichten kann. Ich bin beim Versuch, die Schritte neu zu erstellen, stecken geblieben.
In dieser Reihenfolge habe ich die Schritte festgelegt:
Ich habe versucht, die App zu migrieren, es gibt jedoch keine Migrationen, die angewendet werden können.
Ich habe 'Django-Admin Startprojekt ig_miner_app ausprobiert. bekomme aber diesen Fehlercode:
"CommandError: /Users/Erin/Desktop/CodeByEAllard/project/instagram_miner/manage.py ist bereits vorhanden. Wenn Sie ein Projekt oder eine Anwendung in ein vorhandenes Verzeichnis einfügen, werden in Konflikt stehende Dateien nicht ersetzt."
Wenn ich das erledigen kann, sollte ich den Server wie gewohnt ausführen können, richtig?
Ich bin sicher, mir fehlt etwas (oder viele Dinge), aber ich weiß nicht, was es ist. Ich fühle mich dumm, weil ich offensichtlich in der Lage war, die App zu erstellen, aber ich kann nicht herausfinden, wie ich dies jemandem erklären kann! Gibt es Vorschläge, wie der Server zum Laufen gebracht werden kann?
Vielen Dank!
Zunächst einmal erhalten Sie diese Fehlermeldung, weil Sie ein Projekt im selben Verzeichnis wie das geklonte Projekt starten. Dieses Verzeichnis enthält bereits eine App mit dem Namen ig_miner_app
, daher der Namenskonflikt.
In Bezug auf die Schritte zum Ausführen des Projekts durch andere Benutzer sollte dies funktionieren.
klonen Sie das Projekt
git clone https://github.com/erinallard/instagram_miner.git
erstellen und starten Sie eine virtuelle Umgebung
virtualenv env --no-site-packages
source env/bin/activate
Installieren Sie die Projektabhängigkeiten:
pip install -r requirements.txt
erstellen Sie eine Datei mit dem Namen "secrets.sh"
touch secrets.sh
(mac und linux)
erhalten Sie ein Geheimnis von MiniWebTool key und fügen Sie es zu secrets.sh hinzu
export SECRET_KEY='<secret_key>'
fügen Sie der .gitignore-Datei die Datei secrets.sh hinzu
erstellen Sie eine Postgres-Datenbank und fügen Sie die Anmeldeinformationen zu settings.py hinzu
DATABASES = {
'default': {
'ENGINE': 'Django.db.backends.postgresql_psycopg2',
'NAME': 'db_name',
'USER': 'name',
'PASSWORD': '',
'Host': 'localhost',
'PORT': '',
}
}
dann renne
python manage.py migrate
administratorkonto erstellen
python manage.py createsuperuser
dann
python manage.py makemigrations ig_miner_app
für die App zu machen
dann wieder laufen
python manage.py migrate
um den Entwicklungsserver zu starten
python manage.py runserver
und öffnen Sie localhost: 8000 in Ihrem Browser, um die App anzuzeigen.
Ich glaube, dies sollte die App auf den Rechnern anderer Benutzer zum Laufen bringen. Lassen Sie mich wissen, wenn Sie bei einem dieser Schritte stecken bleiben, also kann ich Änderungen vornehmen. Wenn nicht, können Sie es einfach verwenden und andere relevante Informationen hinzufügen, die ich möglicherweise nicht hinzugefügt habe.
Hey @allardbrain und willkommen in der Wonderful World of Development ^ _ ^
Ich hoffe zwar, dass dieses Problem inzwischen gelöst ist, aber wenn ich darf, lassen Sie uns etwas ganz schnell wieder besprechen. Ich bin sicher, andere haben es gemacht und machen derzeit diesen Fehler.
Ich habe 'Django-Admin Startprojekt ig_miner_app ausprobiert. bekomme aber diesen Fehlercode:
"CommandError:" yadda yadda yadda ...
Django hat tatsächlich eine erstaunliche Dokumentation. Die Jungs dahinter waren eigentlich Schriftsteller und Journalisten und keine typischen CS-Jungs.
Was ich versuche zu sagen, ist, wenn Sie etwas Neues lernen, lesen Sie die Dokumentation. durchlaufen Sie das To-Do App Tutorial. Hier ist der Grund..
Django-admin startproject
Dies ist bereits erfüllt, wenn Sie eine Arbeitskopie einer bereits vorhandenen Anwendung abrufen. Ihr Anliegen sollte in erster Linie diese Datei sein ...
requirements.txt
Hier geben die devDependencies, wenn Sie so wollen, ihre Anforderungen an, ähnlich wie bei Ihren Grundsätzen
package.json
Jedenfalls sage ich das nur, weil ich die ersten Jahre meiner Karriere hartnäckig verbracht habe und mich oft durch Docs gestreift habe, und am Ende des Tages Kopfschmerzen für mich und die armen Bastarde geschaffen habe, die damit beauftragt sind, meinen pummeligen Arsch zu überwachen: - ) Tolle Zeiten, diese ...
Prost alle
Wie gesagt, sobald Sie das Repo geklont haben, müssen Sie die Voraussetzungen installieren
pip install -r requirements.txt
Danach müssen Sie die Datenbank konfigurieren. Fügen Sie die Details zu settings.py hinzu
Sobald dies geschehen ist und Sie über die Schlüssel und Geheimnisse verfügen, müssen Sie Migrationen durchführen und dann migrieren.
cd in das App-Verzeichnis und ausführen
python manage.py makemigrations
um Migrationsdateien für die Modelle zu erstellen, die bereits in den geklonten Codes definiert sind. danach musst du laufen
python manage.py migrate
um die Migrationen anzuwenden, wodurch die Datenbanktabellen erstellt werden.
Jetzt nehmen Sie Änderungen an Modellen vor oder fügen zusätzliche Modelle oder Felder hinzu. Sie müssen die letzten beiden Befehle erneut ausführen.
Mein IDE scheint ein venv automatisch zu aktivieren, wenn es sich im Projektverzeichnis befindet, was dazu führte, dass ich beim Klonen von git ständig auf den Fehler stieß.
ModuleNotFoundError: No module named ''
Ich musste das ursprüngliche venv manuell löschen und ein neues virtuelles env erstellen, dann führte ich diese Befehle aus. Hat nachher wie ein PyCharm gewirkt :)
pip install -r requirements.txt
python manage.py collectstatic
versuchen Sie, den Anwendungsnamen an den Befehl migrate
zu übergeben:
manage.py migrate ig_miner_app
Nach dem Klonen des Projekts aus GitHub mache ich folgende Schritte:
pip3 install virtualenv
virtualenv -p python3 env
source env/bin/activate
pip install Django
django-admin startproject <mysite>
python manage.py startapp polls
python manage.py runserver
on terminal: python manage.py makemigrations <app_name>
python manage.py migrate
Diese funktionieren gut auf meinem System.