Heim Backend-Entwicklung Python-Tutorial Eine kurze Analyse von STATIC_ROOT, STATIC_URL und STATICFILES_DIRS in Django

Eine kurze Analyse von STATIC_ROOT, STATIC_URL und STATICFILES_DIRS in Django

May 08, 2018 am 11:49 AM
django static

Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zu STATIC_ROOT, STATIC_URL und STATICFILES_DIRS durch Beispielcode ein. Es hat einen gewissen Referenz-Lernwert für alle, die es brauchen Werfen Sie gemeinsam einen Blick darauf

Vorwort

Dieser Artikel führt Sie hauptsächlich in die relevanten Inhalte zu STATIC_ROOT, STATIC_URL und STATICFILES_DIRS in Django ein Ihr Nutzen. Bitte schauen Sie sich die ausführliche Einführung an.

Die Details sind wie folgt:

Zuerst konfigurieren wir die statische Datei und fügen die folgenden Codezeilen zu Setting.py hinzu:

settings.py

# the settings above
# STATIC SETTINGS
STATIC_URL = '/static/'
# BASE_DIR 是项目的绝对地址
STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static')
#以下不是必须的
STATICFILES_DIRS = (
 os.path.join(BASE_DIR, 'common_static'),
)
Nach dem Login kopieren

1.STATIC_ROOT

STATIC_ROOT ist bei der statischen Bereitstellung Dateien (pyhtonmanage.pycollectstatic) Für alle statischen statischen Aggregationsverzeichnisse muss STATIC_ROOT als absolute Adresse geschrieben werden. Hier ist zum Beispiel mein Projekt mysite /home/mysite/

, dann ist STATIC_ROOT /home /mysite/collect_static /

Geben Sie beim Bereitstellen des Projekts im Terminal Folgendes ein:

python manage.py collectstatic
Nach dem Login kopieren

django kopiert alle statischen Dateien nach Der STATIC_ROOT-Dateiclip

2.STATICFILES_DIRS

STATIC_ROOT kommt nur während der Bereitstellung ins Spiel. In tatsächlichen Situationen gibt es zwei allgemeine Platzierungsorte für statische Dateien:

1. Eine besteht darin, in jeder App einen neuen statischen Ordner zu erstellen und statische Dateien darin abzulegen. Wenn Sie beispielsweise statische Dateien in Vorlagen verwenden möchten, fügt Django diese automatisch jeder App hinzu. Durchsuchen Sie den statischen Ordner darin (schreiben Sie den Ordnernamen also nicht falsch, sonst kann Django Ihren Ordner nicht finden)

2. Die andere Möglichkeit besteht darin, außerhalb aller App-Dateien zu suchen Da einige statische Dateien nicht nur für eine bestimmte App gelten, können Sie sie zur einfacheren Verwaltung in einem öffentlichen Ordner ablegen (beachten Sie, dass das Erstellen eines öffentlichen statischen Dateiordners nur eine Möglichkeit zur Vereinfachung der Verwaltungsmethode darstellt, aber nicht erforderlich ist). Apps kann statische Dateien appübergreifend anwenden, da am Ende alle statischen Dateien in STATIC_ROOT vorhanden sind)

Dann stellt sich nun die Frage, wie man Django darüber informiert, dass man einige statische Dateien in einem öffentlichen Ordner außerhalb von ablegt In der App müssen Sie STATICFILES_DIRS konfigurieren.

STATICFILES_DIRS = (
 os.path.join(BASE_DIR, 'common_static'),
)
Nach dem Login kopieren

STATICFILES_DIRS weist Django an, zuerst nach statischen Dateien in der Datei STATICFILES_DIRS zu suchen und dann im statischen Ordner jeder App zu suchen (Beachten Sie, dass Django langsam nach statischen Dateien sucht und die Suche beendet, wenn es die erste findet)

3.STATIC_URL

Bisher die statische Datei Der Mechanismus kann funktionieren, aber es gibt eine Frage: Kann ich über die URL direkt auf die statischen Dateien in meinem Projekt zugreifen? Die Antwort lautet definitiv „Ja“, aber bitte beachten Sie: Sie greifen in einem Browser darauf zu Statische Datei. Beispielsweise lautet die lokale Adresse eines meiner Bilder

/home/mysite/common_static/myapp/photo.png

Dann ist es für andere unmöglich, sie einzugeben direkt im Browser:

http://192.168.1.2:8000/home/mysite/common_static/myapp/photo.png

In diesem Fall der Browser wird einen Fehler melden, es gibt keine solche Seite

Wie ermöglicht Django dem Browser also den Zugriff auf statische Dateien auf dem Server? Wie bereits erwähnt, ist der direkte Zugriff auf die lokale Adresse des Servers nicht möglich. Dann ist eine Zuordnung erforderlich, um dem Browser den direkten Zugriff auf statische Dateien zu ermöglichen, z. B.:

STATIC_URL = '/static/'
Nach dem Login kopieren

Dann können Sie im Browser Folgendes eingeben:

http://192.168.1.2:8000/static/common_static/myapp/photo.png

Dann entspricht es Visit /home/mysite/common_static/myap /photo.png

Verwenden Sie also im Browser den spezifischen Inhalt des Präfixes STATIC_URL, um STATIC_ROOT zuzuordnen,
HTTP://192.168.1.2:8000/static STATIC_ROOT entsprechend der lokalen Adresse

Verwandte Empfehlungen:

So verwenden Sie Ajax in Django

So verhindern Sie, dass die Formularseite in Django beim automatischen Senden aktualisiert wird

Das obige ist der detaillierte Inhalt vonEine kurze Analyse von STATIC_ROOT, STATIC_URL und STATICFILES_DIRS in Django. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie die Django-Version So überprüfen Sie die Django-Version Dec 01, 2023 pm 02:25 PM

Schritte zum Überprüfen der Django-Version: 1. Öffnen Sie ein Terminal- oder Eingabeaufforderungsfenster. 2. Stellen Sie sicher, dass Django nicht installiert ist, können Sie es mit dem Paketverwaltungstool installieren und den Befehl pip install django eingeben. 3. Nachdem die Installation abgeschlossen ist, können Sie python -m django --version verwenden, um die Django-Version zu überprüfen.

Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Jan 19, 2024 am 08:36 AM

Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Jan 19, 2024 am 09:09 AM

Django ist ein vollständiges Entwicklungsframework, das alle Aspekte des Webentwicklungslebenszyklus abdeckt. Derzeit ist dieses Framework eines der beliebtesten Web-Frameworks weltweit. Wenn Sie vorhaben, mit Django Ihre eigenen Webanwendungen zu erstellen, müssen Sie die Vor- und Nachteile des Django-Frameworks verstehen. Hier finden Sie alles, was Sie wissen müssen, einschließlich spezifischer Codebeispiele. Vorteile von Django: 1. Schnelle Entwicklung – Djang kann Webanwendungen schnell entwickeln. Es bietet eine umfangreiche Bibliothek und interne

So überprüfen Sie die Django-Version So überprüfen Sie die Django-Version Nov 30, 2023 pm 03:08 PM

So überprüfen Sie die Django-Version: 1. Um die Django-Version zu überprüfen, geben Sie den Befehl „python -m django --version“ im Terminal- oder Befehlszeilenfenster ein. 2. Um in der interaktiven Python-Umgebung zu überprüfen, geben Sie „import django“ ein print(django. get_version())“-Code; 3. Überprüfen Sie die Einstellungsdatei des Django-Projekts und finden Sie eine Liste mit dem Namen INSTALLED_APPS, die Informationen zur installierten Anwendung enthält.

So aktualisieren Sie die Django-Version: Schritte und Überlegungen So aktualisieren Sie die Django-Version: Schritte und Überlegungen Jan 19, 2024 am 10:16 AM

So aktualisieren Sie die Django-Version: Schritte und Überlegungen, spezifische Codebeispiele erforderlich. Einführung: Django ist ein leistungsstarkes Python-Web-Framework, das kontinuierlich aktualisiert und aktualisiert wird, um eine bessere Leistung und mehr Funktionen bereitzustellen. Für Entwickler, die ältere Versionen von Django verwenden, kann die Aktualisierung von Django jedoch einige Herausforderungen mit sich bringen. In diesem Artikel werden die Schritte und Vorsichtsmaßnahmen zum Aktualisieren der Django-Version vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Sichern Sie die Projektdateien, bevor Sie Djan aktualisieren

Was ist der Unterschied zwischen Django-Versionen? Was ist der Unterschied zwischen Django-Versionen? Nov 20, 2023 pm 04:33 PM

Die Unterschiede sind: 1. Django 1.x-Serie: Dies ist eine frühe Version von Django, einschließlich der Versionen 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 und 1.9. Diese Versionen bieten hauptsächlich grundlegende Webentwicklungsfunktionen. 2. Django 2.x-Serie: Dies ist die Zwischenversion von Django, einschließlich 2.0, 2.1, 2.2 und anderen Versionen. 3. Django 3.x-Serie: Dies ist die neueste Version Serie von Django. Einschließlich der Versionen 3.0, 3 usw.

Ist Django Front-End oder Back-End? Ist Django Front-End oder Back-End? Nov 21, 2023 pm 02:36 PM

Django ist das Backend. Details: Obwohl Django in erster Linie ein Backend-Framework ist, ist es eng mit der Frontend-Entwicklung verbunden. Durch Funktionen wie die Template-Engine von Django, die statische Dateiverwaltung und die RESTful-API können Front-End-Entwickler mit Back-End-Entwicklern zusammenarbeiten, um leistungsstarke, skalierbare Webanwendungen zu erstellen.

Django, Flask und FastAPI: Welches Framework ist das richtige für Anfänger? Django, Flask und FastAPI: Welches Framework ist das richtige für Anfänger? Sep 27, 2023 pm 09:06 PM

Django, Flask und FastAPI: Welches Framework ist das richtige für Anfänger? Einführung: Im Bereich der Webanwendungsentwicklung stehen viele hervorragende Python-Frameworks zur Auswahl. Dieser Artikel konzentriert sich auf die drei beliebtesten Frameworks: Django, Flask und FastAPI. Wir werden ihre Funktionen bewerten und besprechen, welches Framework für Anfänger am besten geeignet ist. Gleichzeitig stellen wir einige spezifische Codebeispiele bereit, um Anfängern ein besseres Verständnis dieser Frameworks zu erleichtern. 1. Django: Django

See all articles