zoukankan      html  css  js  c++  java
  • 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目录

  • 相关阅读:
    Wannafly Winter Camp 2020 Day 7D 方阵的行列式
    [CF1311F] Moving Points
    [CF1311E] Construct the Binary Tree
    [CF1311D] Three Integers
    [CF1311C] Perform the Combo
    [CF1311B] WeirdSort
    [CF1311A] Add Odd or Subtract Even
    Wannafly Winter Camp 2020 Day 7A 序列
    SP7258 SUBLEX
    Wannafly Winter Camp 2020 Day 6J K重排列
  • 原文地址:https://www.cnblogs.com/zj901203/p/11161897.html
Copyright © 2011-2022 走看看