3

Twitter ブートストラップを django アプリケーションと統合しようとしています。settings.py には、次のものがあります。

STATIC_URL = '/static/'

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    "/path/to/my/projects/templates/static/",
)

フォルダの下には、 css、img、jsstaticの 3 つのフォルダがあり、すべてのブートストラップ ファイルがそのままコピーされています。

私のテンプレートは次のようになります。

<html>
    <head>
        {% load staticfiles %}
        <link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap-responsive.css' %}" />
        <script type="text/javascript" src="{% static 'js/bootstrap.js' %}"></script>
        <meta charset="utf-8"> 

        <title>Test App</title>

    </head>
    <body>
        <div class="navbar navbar-fixed-top">  
            <div class="navbar-inner">  
                <div class="container">  
                    <ul class="nav">  
                        <li class="active">  
                            <a class="brand" href="#">TEST APP</a>  
                        </li>  
                        <li><a href="#">About</a></li>  
                        <li><a href="#">Portfolio</a></li>  
                        <li><a href="#">Contact</a></li>  
                    </ul> 
                </div>  
            </div>  
        </div>

ただし、開発サーバーを実行すると、変更もcssも適用されていない基本的なhtmlページが表示されます。

ここで何が間違っていますか?

4

1 に答える 1

2

フォルダーがアプリケーション ルートのすぐ下にあると仮定するとstatic、これは、すべての OS で静的ファイル テンプレートのレンダリングを防弾するために使用できる方法です。

import os

def replace(path):
    assert isinstance(path, str)
    return path.replace('\\', os.sep)


def here(*args):
    return replace(os.path.abspath(os.path.join(os.path.dirname(__file__), *args)))


BASE_DIR = here('..')


def root(*args):
    return replace(os.path.abspath(os.path.join(BASE_DIR, *args)))

STATICFILES_DIRS = (root('static'),)
于 2013-09-11T18:09:43.377 に答える