我有多個靜態文件目錄。每個應用程序都有自己的靜態文件目錄,以使其成爲模塊化。我如何訪問所有應用程序的靜態文件目錄。最初我將所有的靜態文件放在一個文件夾下。現在我將靜態文件保存在應用程序中,然後想要從應用程序內部訪問它。如何更改我的settings.py
文件以訪問靜態目錄。在Django中鏈接靜態文件目錄
這裏是我的目錄結構。
|-- 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/'
使用Static Files應用程序將幫助你在這裏。 https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#module-django.contrib.staticfiles - 應該幫助你。 –
MEDIA用於用戶上傳,STATIC用於靜態文件..(由生產網站中的collectstatic命令收集,因此您的服務器可以爲它們提供服務)如果您想爲其命名資產,那很好,但會導致一些額外的配置約定是'靜態')以供進一步參考:http://stackoverflow.com/questions/11216829/django-directory-structure –