Django -> debug模式下的靜態文件服務(/media/)
阿新 • • 發佈:2017-07-16
相同 pytho web容器 文件服務 document mat clas str location
正式公布django項目的時候,假設存在靜態文件(通常會統一放在名稱為media或static的文件夾下),則須要建立url到文件系統的映射,比如。使用nginx的時候我們須要進行這種配置.
# Django media location /media { alias /home/lyndon/github/Mathematician/dijkstra/media; } location /static { alias /home/lyndon/github/Mathematician/dijkstra/static; }
然後把頁面的請求轉發到web容器
因此。當使用django內置的調試server時,相同須要指定靜態文件url和文件系統之間的映射關系.
改動url,加入靜態文件的url規則
urlpatterns = patterns(‘‘, # Examples: # url(r‘^$‘, ‘catyblog.views.home‘, name=‘home‘), url(r‘^blog/‘, include(‘blog.urls‘)), url(r‘^admin/‘, include(admin.site.urls)), ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
改動settings.py,加入MEDIA_URL, MEDIA_ROOT
MEDIA_URL = ‘/media/‘ MEDIA_ROOT = os.path.join(BASE_DIR, ‘media/‘)
如此以來。便可在css文件或者html文件裏直接以這種方式使用靜態文件
background-image: url(‘/media/img/bg.jpg‘);
總結
static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
僅僅有在debug模式下才有作用.
它的功能僅僅是實現了從url規則到文件系統的映射
Django -> debug模式下的靜態文件服務(/media/)