Um Django und AWS zu lernen, klonen Sie nach dem lokalen Erstellen einer Django-App basierend auf dem folgenden Artikel diese von Github auf AWS. Artikel, der die Systementwicklung mit Django (Python) _Introduction ermöglicht [In 20 Minuten bereitstellen] Erstellen Sie eine Django + PostgreSQL + Nginx-Umgebung auf AWS EC2 und veröffentlichen Sie sie schnell
Nach "python3 manage.py runserver" in AWS stelle ich fest, dass das CSS, das lokal auf den Administratorbildschirm angewendet wurde, nicht angewendet wird.
Als Ergebnis der Überprüfung des Nginx-Protokolls habe ich bestätigt, dass ein Fehler aufgetreten ist, den der CSS-Pfad nicht bestanden hat.
$ tail -F /var/log/nginx/error.log
(Weggelassen)
2020/03/21 01:18:04 [error] 23086#23086: *197 open() "/home/ubuntu/repository/mysite/static/admin/css/base.css" failed (2: No such file or directory), client: XXX.XXX.XXX.XXX, server: XXX.XXX.XXX.XXX, request: "GET /static/admin/css/base.css HTTP/1.1", host: "XXX.XXX.XXX.XXX", referrer: "http://XXX.XXX.XXX.XXX/admin/login/?next=/admin/"
Gemäß Umgang mit statischen Dateien in Django können Sie den Befehl "static statisch" verwenden, um den Pfad zu übergeben. Nachdem Sie die Einstellungen für die Verarbeitung statischer Inhalte von "settings.py" wie folgt festgelegt haben, führen Sie "python3 manage.py collect static" aus
settings.py
#Unten wurden Einstellungen für statische Dateiaufrufe hinzugefügt
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_NAME = os.path.basename(BASE_DIR)
#STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
$ python3 manage.py collectstatic
You have requested to collect static files at the destination
location as specified in your settings:
/home/ubuntu/repository/mysite/static
This will overwrite existing files!
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes
119 static files copied to '/home/ubuntu/repository/mysite/static'.
Die statische Datei des Verwaltungsbildschirms (die unter ~ / .local / lib / python3.5 / site-packages / django / contrib / admin / static / `) wird in das statische Verzeichnis kopiert.
$ ls ~/repository/mysite/static
admin css images js
(css,image,js erstellt mit mkdir)
$ ls ~/repository/mysite/static/admin
css fonts img js
Dadurch wurde der CSS-Pfad des Verwaltungsbildschirms übergeben.
Recommended Posts