凉城旧巷
Python从入门到自闭,Java从自闭到放弃,数据库从删库到跑路,Linux从rm -rf到完犊子!!!
posts - 315,comments - 20,views - 38万

Django部署时STATIC/MEDIA配置

一、DEBUG=True模式

开发环境,即 DEBUG=True

settings.py中配置

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
  • 如果不需要在web中通过url查看静态文件,就不需要在url层配置静态url
  • runserver 会根据setting配置自动对静态文件进行处理,只在开发环境下生效,在生产环境下不会生效

 

二、DEBUG=False模式

生产环境,即 DEBUG=False

  • 此时,不会在使用django内置的web服务器,需要手动指定,一般python使用uWSGI服务器

部署需要以下修改:

  • 需要在settings.py中配置STATIC_ROOT,用于存放collectstatic收集到的所有静态文件

    STATIC_ROOT = os.path.join(BASE_DIR, "all_static")
    
    # 注意:STATIC_ROOT 不能和 STATICFILES_DIRS重复
    
  • collectstatic收集静态文件

    # static目录静态文件和django自带的后台admin静态文件打包一起放,并保存在 STATIC_ROOT路径下
    python3 manage.py collectstatic
    
  • urls.py中添加url,包括staticmedia两部分

    from django.views.static import serve
    
    url(r'^static/(?P<path>.*)$', serve, {"document_root": settings.STATIC_ROOT}),
    url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT}),
    

     

生产环境配置总结

# urls.py
from django.conf.urls import url
from django.views.static import serve
from django.conf import settings

urlpatterns = [
    ...,
    url(r'^static/(?P<path>.*)$', serve, {"document_root": settings.STATIC_ROOT}),
    url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT}),
]
# settings.py
DEBUG = False

# static配置,服务器开发的静态文件
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static")
]
STATIC_ROOT = os.path.join(BASE_DIR, "all_static")

MEDIA_URL = "/media/"
# media配置,用户上传的文件都默认放在这个文件夹下
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
posted on   凉城旧巷  阅读(662)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示