我有多个静态文件目录。每个应用程序都有自己的静态文件目录,以使其模块化。如何访问所有应用程序的静态文件目录。最初我将所有静态文件放在一个文件夹下。现在我将静态文件保留在应用程序中,然后想要从应用程序内部访问它。如何更改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/'
答案 0 :(得分:3)
您应该按照以下步骤(来自文档):https://docs.djangoproject.com/en/dev/howto/static-files/
最重要的部分是:
将静态文件存储在应用中名为 static 的文件夹中。例如my_app / static / my_app / myimage.jpg。
因此,请将名称从资产更改为静态。