MEDIA_ROOT與STATIC_ROOT靜態文件配置


MEDIA_ROOT主要是用於用戶上傳目錄。
STATIC_ROOT用於網站的靜態文件

【轉載】

Django提供了一個方法自動地將所有的靜態文件放在一起。只要在寫App的時候創建一個static子目錄專門保存靜態文件就行了。在開發階段,不必費心去做映射,不需要配置urls.py。在布署到生產環境的時候,只需要配置Apache把/static/映射到STATIC_ROOT。然后運行manage.py collectstatic,自動地STATICFILES_DIRS列出的目錄以及各個App下的static子目錄的所有文件復制到STATIC_ROOT。因為復制過程可能會覆蓋掉原來的文件,所以,一定不能把我們辛苦做出來靜態文件放這邊!在開發階段,Django把/static映射到django.contrib.staticfiles這個App。staticfiles自動地從STATICFILES_DIRSSTATIC_ROOT以及各個App的static子目錄里面搜索靜態文件。一旦布署到開發環境上,settings.py不需要重新編寫,只要在Apache的配置文件里面寫好映射,/static將會被Apache處理。django.contrib.staticfiles雖然仍然存在,但因為不會接收到以/static/開始的路徑,所以將不會產生作用。不必擔心Django會使用處理速度變慢。另外,當settings.DEBUG is False的時候,staticfiles將自動關閉。

自己寫的博客靜態文件URL設置:

HERE = os.path.dirname(os.path.abspath(__file__)) 用於取出settings.py所在文件夾的位置

MEDIA_ROOT = os.path.join( HERE, 'media').replace('\\','/')

MEDIA_URL = '/media/'

STATIC_ROOT = os.path.join( HERE, 'static').replace('\\','/')

STATIC_URL = '/static/'

url設置:

urlpatterns += patterns((''),
    (r'^static/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root':  settings.STATIC_ROOT}
    ),

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM