Maison  >  Article  >  développement back-end  >  À propos de la méthode aiohttp d'ajout de chemins de ressources statiques

À propos de la méthode aiohttp d'ajout de chemins de ressources statiques

高洛峰
高洛峰original
2017-03-15 13:32:122413parcourir

Les ressources dites statiques font référence à des fichiers tels que images, js, css, etc. Les instructions officielles sont ici.
Prenez un petit projet pour illustrer. Voici la structure de répertoires du projet  :

.
├── static
│   ├── css
│   │   ├── base.css
│   │   ├── bootstrap.min.css
│   │   └── font-awesome.min.css
│   ├── font
│   │   ├── FontAwesome.otf
│   │   ├── fontawesome-webfont.eot
│   │   ├── fontawesome-webfont.svg
│   │   ├── fontawesome-webfont.ttf
│   │   └── fontawesome-webfont.woff
│   └── index.html
└── proxy_server.py

Ajoutez deux répertoires de fichiers statiques proxy_server.py et static/css dans static/font <.>Route :

 app.router.add_static(&#39;/css/&#39;,
                       path=&#39;static/css&#39;,
                       name=&#39;css&#39;)
 app.router.add_static(&#39;/font/&#39;,
                       path=&#39;static/font&#39;,
                       name=&#39;font&#39;)
Regardons d'abord la définition de la méthode

: add_static

def add_static(self, prefix, path, *, name=None, expect_handler=None,
                   chunk_size=256*1024, response_factory=StreamResponse,
                   show_index=False, follow_symlinks=False):
        """Add static files view.

        prefix - url prefix
        path - folder with files

        """
        # TODO: implement via PrefixedResource, not ResourceAdapter
        assert prefix.startswith(&#39;/&#39;)
        if prefix.endswith(&#39;/&#39;):
            prefix = prefix[:-1]
        resource = StaticResource(prefix, path,
                                  name=name,
                                  expect_handler=expect_handler,
                                  chunk_size=chunk_size,
                                  response_factory=response_factory,
                                  show_index=show_index,
                                  follow_symlinks=follow_symlinks)
        self.register_resource(resource)
        return resource
2 paramètres obligatoires :


: Il est le préfixe de prefix pour les fichiers statiques, commençant par url. Il est affiché dans la barre d'adresse du navigateur après l'hébergeur du site Web. Il est également utilisé pour les / pages statiques pour référencer index.html : Le chemin d'accès au répertoire de fichiers statiques peut être un chemin relatif. Le utilisé dans le code ci-dessus est un chemin relatif - par rapport au chemin où se trouve
. pathCe qui suit est l'effet de la page : static/cssproxy_server.py
se charge
, et ce qui suit est le code qui fait référence aux ressources statiques : À propos de la méthode aiohttp dajout de chemins de ressources statiques
index.htmlLe chemin à ajouter

est Parce que
<!-- Bootstrap CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">

<!-- Base CSS -->
<link href="css/base.css" rel="stylesheet">

<!-- FA CSS -->
<link href="css/font-awesome.min.css" rel="stylesheet">
doit utiliser :

font/font-awesome.min.css Ouvrez le fichier css dans le navigateur :
À propos de la méthode aiohttp dajout de chemins de ressources statiques
Vous pouvez voir que le préfixe de l'url est
. À propos de la méthode aiohttp dajout de chemins de ressources statiquesSi vous modifiez le préfixe :
/css/
la page devient :

 app.router.add_static(&#39;/css2017/&#39;,
                       path=&#39;static/css&#39;,
                       name=&#39;css&#39;)

Le fichier css est également inaccessible :
À propos de la méthode aiohttp dajout de chemins de ressources statiques
Modifier
Le chemin de référence du CSS dans : À propos de la méthode aiohttp dajout de chemins de ressources statiques
index.htmlBien que le répertoire lui-même soit toujours

, il a été considéré comme
<!-- Bootstrap CSS -->
<link href="css2017/bootstrap.min.css" rel="stylesheet">

<!-- Base CSS -->
<link href="css2017/base.css" rel="stylesheet">

<!-- FA CSS -->
<link href="css2017/font-awesome.min.css" rel="stylesheet">
à

, et la page revient à la normale : cssadd_staticcss2017les fichiers CSS peuvent également être ouverts :
À propos de la méthode aiohttp dajout de chemins de ressources statiques
le préfixe de l'url a été remplacé par
. À propos de la méthode aiohttp dajout de chemins de ressources statiquesOuvrez le fichier
directement à ce moment et il sera affiché comme /css2017/
index.html car il n'y a pas de dossier
dans le répertoire À propos de la méthode aiohttp dajout de chemins de ressources statiques.
staticVous comprenez maintenant l'utilisation de base de la méthode css2017 de

. Vous pouvez également masquer le répertoire réel où les ressources statiques sont stockées sur le serveur en redéfinissant les paramètres

, ou vous pouvez les disperser. Les fichiers de ressources sont partout unifiés sous le même préfixe de chemin. add_staticDe plus, si vous ajoutez , vous pouvez afficher le répertoire des ressources statiques prefixindex

- l'accès est interdit par défaut :

show_index=True

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:
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