Maison développement back-end Tutoriel Python Une brève analyse de STATIC_ROOT, STATIC_URL et STATICFILES_DIRS dans Django

Une brève analyse de STATIC_ROOT, STATIC_URL et STATICFILES_DIRS dans Django

May 08, 2018 am 11:49 AM
django static

Cet article vous présente principalement les informations pertinentes sur STATIC_ROOT, STATIC_URL et STATICFILES_DIRS dans Django. L'article les présente en détail à travers un exemple de code. Il a une certaine valeur d'apprentissage de référence pour les études ou le travail de chacun. Les amis qui en ont besoin peuvent suivre Let's. jetez un œil ensemble

Avant-propos

Cet article vous présente principalement le contenu pertinent sur STATIC_ROOT, STATIC_URL et STATICFILES_DIRS dans Django. votre avantage. Veuillez vous y référer pour référence. Je n’en dirai pas plus ci-dessous. Jetons un coup d’œil à l’introduction détaillée.

Les détails sont les suivants :

Tout d'abord, nous configurons le fichier statique et ajoutons les lignes de code suivantes à settings.py :

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'),
)
Copier après la connexion

1.STATIC_ROOT

STATIC_ROOT est en cours de déploiement. fichiers statiques Lorsque (pyhtonmanage.pycollectstatic) tous les répertoires d'agrégation statique, STATIC_ROOT doivent être écrits comme une adresse absolue. Ici, par exemple, mon projet monsite est /home/mysite/

Alors STATIC_ROOT est /home. /monsite /collect_static/

Lors du déploiement du projet, saisissez dans le terminal :

python manage.py collectstatic
Copier après la connexion

Django supprimera tous les statiques fichiers Copier dans le dossier STATIC_ROOT

2.STATICFILES_DIRS

STATIC_ROOT n'entre en jeu que lors du déploiement. Dans les situations réelles, il existe deux emplacements de placement généraux pour les types de fichiers statiques. :

1. La première consiste à créer un nouveau dossier statique dans chaque application et à y placer des fichiers statiques. Lors du chargement de fichiers statiques, par exemple, si vous souhaitez utiliser des fichiers statiques dans des modèles, Django recherchera automatiquement. le dossier statique dans chaque application (donc, n'écrivez pas mal le nom du dossier, sinon Django ne pourra pas trouver votre dossier)

2 L'autre méthode consiste à rechercher le dossier statique dans toutes les applications. . En dehors du fichier de l'application, créez un dossier public. Étant donné que certains fichiers statiques ne sont pas propres à une certaine application, vous pouvez les placer dans un dossier public pour une gestion facile (remarque, créez un dossier de fichiers statiques public. C'est juste un dossier facile à utiliser. gérer, mais ce n'est pas nécessaire. Les applications peuvent appliquer des fichiers statiques entre les applications, car à la fin, tous les fichiers statiques existeront dans STATIC_ROOT)

Alors quel est le problème maintenant pour faire savoir à Django que vous avez mis ? certains fichiers statiques dans un dossier public en dehors de l'application, vous devez configurer STATICFILES_DIRS

STATICFILES_DIRS = (
 os.path.join(BASE_DIR, 'common_static'),
)
Copier après la connexion

STATICFILES_DIRS dit à Django : Tout d'abord, recherchez les fichiers statiques dans STATICFILES_DIRS , puis recherchez dans le dossier statique de chaque application (notez que Django recherche les fichiers statiques paresseusement et arrête la recherche lorsqu'il trouve le premier)

3.STATIC_URL

Jusqu'à présent, le mécanisme de fichiers statiques peut fonctionner, mais il y a une question : puis-je accéder directement aux fichiers statiques de mon projet via l'URL. La réponse est définitivement La, mais veuillez noter que vous y accédez via un navigateur ? Vous ne pouvez pas saisir l'adresse locale absolue de votre fichier statique. Par exemple, l'adresse locale d'une de mes images

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

<🎜. > Ensuite il est impossible aux autres d'entrer directement sur le navigateur :


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


Dans ce cas, le navigateur signalera une erreur, une telle page n'existe pas


Alors, comment Django permet-il au navigateur d'accéder aux fichiers statiques sur le serveur ? Eh bien, comme mentionné précédemment, c'est le cas ? n'est pas possible d'accéder directement à l'adresse locale du serveur, un mappage est donc nécessaire. Django utilise STATIC_URL pour permettre au navigateur d'accéder directement aux fichiers statiques, tels que :

STATIC_URL = &#39;/static/&#39;
Copier après la connexion
.

Ensuite vous pouvez saisir sur le navigateur :


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


Ensuite cela équivaut à accéder à /home/mysite/common_static/myap/photo.png

Donc sur le navigateur, utilisez le contenu spécifique du préfixe STATIC_URL pour mapper STATIC_ROOT,

HTTP:/ /192.168 .1.2:8000/static équivaut à STATIC_ROOT de l'adresse locale

Recommandations associées :

Comment utiliser Ajax dans Django

Comment empêcher la page de formulaire dans Django de se soumettre automatiquement après l'actualisation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la version de Django Comment vérifier la version de Django Dec 01, 2023 pm 02:25 PM

Étapes pour vérifier la version de Django : 1. Ouvrez un terminal ou une fenêtre d'invite de commande ; 2. Assurez-vous que Django n'est pas installé, vous pouvez utiliser l'outil de gestion de packages pour l'installer et entrer la commande pip install django 3 ; . Une fois l'installation terminée, vous pouvez utiliser python -m django --version pour vérifier la version de Django.

Django vs Flask : une analyse comparative des frameworks Web Python Django vs Flask : une analyse comparative des frameworks Web Python Jan 19, 2024 am 08:36 AM

Django et Flask sont tous deux leaders dans les frameworks Web Python, et ils ont tous deux leurs propres avantages et scénarios applicables. Cet article procédera à une analyse comparative de ces deux frameworks et fournira des exemples de code spécifiques. Introduction au développement Django est un framework Web complet, son objectif principal est de développer rapidement des applications Web complexes. Django fournit de nombreuses fonctions intégrées, telles que ORM (Object Relational Mapping), formulaires, authentification, backend de gestion, etc. Ces fonctionnalités permettent à Django de gérer de grandes

Avantages et inconvénients du framework Django : tout ce que vous devez savoir Avantages et inconvénients du framework Django : tout ce que vous devez savoir Jan 19, 2024 am 09:09 AM

Django est un framework de développement complet qui couvre tous les aspects du cycle de vie du développement Web. Actuellement, ce framework est l’un des frameworks Web les plus populaires au monde. Si vous envisagez d'utiliser Django pour créer vos propres applications Web, vous devez alors comprendre les avantages et les inconvénients du framework Django. Voici tout ce que vous devez savoir, y compris des exemples de code spécifiques. Avantages de Django : 1. Développement rapide : Djang peut développer rapidement des applications Web. Il fournit une bibliothèque riche et interne

Comment vérifier la version de Django Comment vérifier la version de Django Nov 30, 2023 pm 03:08 PM

Comment vérifier la version de Django : 1. Pour vérifier via la ligne de commande, entrez la commande "python -m django --version" dans la fenêtre du terminal ou de la ligne de commande. 2. Pour vérifier dans l'environnement interactif Python, entrez "import django ; print(django. get_version())" code ; 3. Vérifiez le fichier de paramètres du projet Django et recherchez une liste nommée INSTALLED_APPS, qui contient des informations sur les applications installées.

Comment mettre à niveau la version de Django : étapes et considérations Comment mettre à niveau la version de Django : étapes et considérations Jan 19, 2024 am 10:16 AM

Comment mettre à niveau la version de Django : étapes et considérations, exemples de code spécifiques requis Introduction : Django est un puissant framework Web Python qui est continuellement mis à jour et mis à niveau pour offrir de meilleures performances et plus de fonctionnalités. Cependant, pour les développeurs utilisant des versions plus anciennes de Django, la mise à niveau de Django peut rencontrer certains défis. Cet article présentera les étapes et les précautions à suivre pour mettre à niveau la version de Django et fournira des exemples de code spécifiques. 1. Sauvegardez les fichiers du projet avant de mettre à niveau Djan

Quelle est la différence entre les versions de Django ? Quelle est la différence entre les versions de Django ? Nov 20, 2023 pm 04:33 PM

Les différences sont : 1. Série Django 1.x : Il s'agit d'une première version de Django, comprenant les versions 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 et 1.9. Ces versions fournissent principalement des fonctions de développement Web de base ; 2. Série Django 2.x : Il s'agit de la version intermédiaire de Django, comprenant les versions 2.0, 2.1, 2.2 et autres. 3. Série Django 3.x : Il s'agit de la dernière version ; série de Django, y compris les versions 3.0, 3, etc.

Django est-il front-end ou back-end ? Django est-il front-end ou back-end ? Nov 21, 2023 pm 02:36 PM

Django est le back-end. Détails : Bien que Django soit avant tout un framework backend, il est étroitement lié au développement front-end. Grâce à des fonctionnalités telles que le moteur de modèles de Django, la gestion de fichiers statiques et l'API RESTful, les développeurs front-end peuvent collaborer avec les développeurs back-end pour créer des applications Web puissantes et évolutives.

Django, Flask et FastAPI : quel framework convient aux débutants ? Django, Flask et FastAPI : quel framework convient aux débutants ? Sep 27, 2023 pm 09:06 PM

Django, Flask et FastAPI : quel framework convient aux débutants ? Introduction : Dans le domaine du développement d'applications Web, il existe de nombreux excellents frameworks Python parmi lesquels choisir. Cet article se concentrera sur les trois frameworks les plus populaires, Django, Flask et FastAPI. Nous évaluerons leurs fonctionnalités et discuterons du framework le mieux adapté aux débutants. Parallèlement, nous fournirons également quelques exemples de code spécifiques pour aider les débutants à mieux comprendre ces frameworks. 1. Django : Django

See all articles