链接Django中的静态文件目录

时间:2013-10-15 06:37:05

标签: python css django twitter-bootstrap

我有多个静态文件目录。每个应用程序都有自己的静态文件目录,以使其模块化。如何访问所有应用程序的静态文件目录。最初我将所有静态文件放在一个文件夹下。现在我将静态文件保留在应用程序中,然后想要从应用程序内部访问它。如何更改settings.py文件以访问静态目录。

这是我的目录结构。

|-- assets                      // static folder named as 'assets'
|   |-- css
|   |   |-- bootstrap.css
|   |   |-- bootstrap.min.css
|   |   |-- bootstrap-responsive.css
|   |   |-- bootstrap-responsive.min.css
|   |   `-- login.css
|   |-- img
|   |   |-- glyphicons-halflings.png
|   |   `-- glyphicons-halflings-white.png
|   `-- js
|       |-- bootstrap.js
|       |-- bootstrap.min.js
|       `-- jquery-1.9.1.min.js

|-- initial                    // My Project Name
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- settings.py
|   |-- settings.pyc
|   |-- urls.py
|   |-- urls.pyc
|   |-- wsgi.py
|   `-- wsgi.pyc
|-- manage.py
|-- models.py
|-- modules                   //apps folder named as 'modules'
|   |-- dashboard
|   |   |-- __init__.py
|   |   |-- __init__.pyc
|   |   |-- models.py
|   |   |-- models.pyc
|   |   |-- static            // static folder inside the dashboard app.
|   |   |   |-- css
|   |   |   |-- img
|   |   |   `-- js
|   |   |       `-- dashboard.js
|   |   |-- templates            // template folder inside the dashboard app.
|   |   |   `-- dashboard
|   |   |       `-- dashboard.html
|   |   |-- tests.py
|   |   |-- urls.py
|   |   |-- urls.pyc
|   |   |-- views.py
|   |   `-- views.pyc
|   |-- login            // login app
|   |   |-- forms.py
|   |   |-- forms.pyc
|   |   |-- __init__.py
|   |   |-- __init__.pyc
|   |   |-- models.py
|   |   |-- models.pyc
|   |   |-- static
|   |   |   |-- css
|   |   |   |   `-- login.css
|   |   |   |-- img
|   |   |   `-- js
|   |   |-- templates
|   |   |   |-- auth
|   |   |   |   |-- login.html
|   |   |   |   |-- logout.html
|   |   |   |   `-- register.html
|   |   |   `-- registration
|   |   |       `-- login.html
|   |   |-- tests.py
|   |   |-- urls.py
|   |   |-- urls.pyc
|   |   |-- views.py
|   |   `-- views.pyc
|  
`-- templates              // templates folder for base templates.
    |-- base1.html
    |-- base2.html
    `-- registration
        `-- login.html

当所有静态文件都在一个文件夹下时,这是我的 settings.py 文件。

MEDIA_ROOT = os.path.normpath( os.path.join(os.path.dirname(__file__), '../assets/'))

MEDIA_URL = ''

STATIC_ROOT = ''

STATIC_URL = '/assets/'

这是我的 settings.py 文件,当所有静态文件都在各自的模块/应用程序下时。

MEDIA_ROOT = (
    os.path.normpath( os.path.join(os.path.dirname(__file__), '../assets/')),
    os.path.normpath( os.path.join(os.path.dirname(__file__), '../modules/dashboard/static/')),
    os.path.normpath( os.path.join(os.path.dirname(__file__), '../modules/login/static/')),
    )

MEDIA_URL = ''

STATIC_ROOT = ''

STATIC_URL = '/assets/'

1 个答案:

答案 0 :(得分:3)

您应该按照以下步骤(来自文档):https://docs.djangoproject.com/en/dev/howto/static-files/

最重要的部分是:

  

将静态文件存储在应用中名为 static 的文件夹中。例如my_app / static / my_app / myimage.jpg。

因此,请将名称从资产更改为静态