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三个文件夹,所有的bootstrap文件都原样复制进去了。

我的模板如下所示:

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

但是,当我运行开发服务器时,我得到了一个基本的 html 页面,没有任何更改,也没有应用 css。

我在这里做错了什么?

4

1 回答 1

2

假设您的static文件夹就在您的应用程序根目录下,这是一种可用于在所有操作系统上进行防弹静态文件模板呈现的方法。

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 回答