django静态文件服务器,Django本地调试时模拟服务器使用url方式访问静态文件(不建议使用)(示例代码)...

本地调试时模拟服务器使用url方式访问静态文件(不建议使用)

当我们在开发django应用时如果设置了 DEBUG = True,那么django便会自动帮我们对静态文件进行路由;

但是当我们设置DEBUG = False后,这一功能便没有了,此时静态文件就会出现加载失败的情况,想要让静态文件正常显示,我们就需要配置静态文件服务了。

参考官方文档

1. 首先修改App setting.py文件

STATIC_ROOT = os.path.join(BASE_DIR, ‘collected_static‘)

STATIC_URL = ‘/static/‘

STATICFILES_DIRS = (

os.path.join(BASE_DIR, ‘/static/‘), ## 一定要修改这里!!!但部署到服务器要改回去不然collectstatic会报错

)

2. 修改urls.py

from django.contrib import admin

from django.urls import path,include

from django.conf import settings ##新增2

from django.conf.urls.static import static ##新增2

from love import views

urlpatterns = [

path(‘admin/‘, admin.site.urls),

path(‘app1/‘, include(‘app1.urls‘)),

path(‘video/‘, include(‘video.urls‘)),

path(‘love/‘, views.love),

]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

开发时提供静态文件服务

若你使用了前文所述的 django.contrib.staticfiles, runserver 会在 DEBUG 为 True 时自动处理。若你未在 INSTALLED_APPS 中包含 django.contrib.staticfiles,你仍能手动通过 django.views.static.serve() 为静态文件提供服务。

这不适合生产环境!常见的部署策略请参考 部署静态文件。

例如,若 STATIC_URL 为 /static/,你能通过添加以下代码片段至 urls.py 完成目的:

from django.conf import settings

from django.conf.urls.static import static

urlpatterns = [

# ... the rest of your URLconf goes here ...

] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

注解:

该助手函数只能在 debug 模式下生效,且要求前缀是本地的(例如 /static/),不是一个 URL (例如 http://static.example.com/)。

当然,助手函数只为实际的 STATIC_ROOT 目录提供服务;它不会像 django.contrib.staticfiles 一样搜索静态文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值