温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django提供静态文件服务

发布时间:2020-08-10 22:29:05 来源:网络 阅读:1239 作者:溪水常流 栏目:开发技术

Django为了方便开发调试,debug模式下runserver会利用django.contrib.staticfiles应用自动部署资源服务,但是生产模式下(或Debug=True时),如果还想要Django提供资源服务,就必须明确提供资源相关的配置,使其承担资源服务。
以下是两种使用Django提供资源服务的配置方式,推荐使用第一种,发布生产环境后,可以使用nginx提供静态资源服务,Django只做动态内容服务。

第一种形式:
1、项目设置中配置(settings.py)

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

2、在全局url中配置(urls.py)

re_path(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT})

3、执行资源搜集命令

python manage.py collectstatic

4、模板中使用

<link rel="stylesheet" type="text/css" href="{% static 'mysite/style.css' %}" />

5、项目结构图
Django提供静态文件服务

第二种形式:
1、在应用url中配置(urls.py)

re_path(r'^static/(?P<path>.*)$', static.serve, {'document_root': './static/'}, name='static')

2、模板中使用

<link rel="stylesheet" type="text/css" href="{% url 'mysite:static' 'mysite/style.css' %}" />

3、项目结构图
Django提供静态文件服务

参考:https://docs.djangoproject.com/zh-hans/2.0/ref/contrib/staticfiles/

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI