Djano中static和media文件路径的设置

对于常用的css、js、image和常用的工具类在django项目中要设置一个全局的路径,对所有的app都可以访问到这个路径下的文件

  • 1在django项目的setting文件中设置对应的static和media路径
# 设置全局的共享静态文件
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

# 配置好了之后用户上传的文件都会上传到这个文件下,和static文件一样都是一个全局访问的
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
  • 2.上传文件到项目中都有在media文件下新建目录,比如下面的例子,定义的一个model中头像的保存字段,上传文件时自动在media文件下新建avatar文件夹,头像都会保存在avatar文件下
# 用户头像(有疑问),这么写,上传的文件会自动保存到某个位置(upload_to指定的位置),然后把路径放到该字段中,
    avatar = models.FileField(upload_to='avatar/', default='avatar/default.png')
  • 3.对media文件的使用,在项目urls文件中配置对应的路由,
# 导入media
from django.views.static import serve
from DjangoDay02 import settings

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # 开启media的访问路径,使用有名分组适配路径
    url(r'^media/(?P<path>.*)',serve,{"document_root":settings.MEDIA_ROOT}),
]
  • 4.在对应的模板文件中拼接对应的字符串就可以访问对应的文件了
 <a href="#"><img src="/media/{{ request.user.avatar }}"></a>

static和media目录

posted @ 2019-07-10 09:42  蓝色的风1203  阅读(298)  评论(0编辑  收藏  举报