• 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目录

  • 相关阅读:
    19.2.15 [LeetCode 80] Remove Duplicates from Sorted Array II
    19.2.15 [LeetCode 79] Word Search
    19.2.15 [LeetCode 78] Subsets
    19.2.15 [LeetCode 77] Combinations
    19.2.15 [LeetCode 76] Minimum Window Substring
    19.2.13 [LeetCode 75] Sort Colors
    19.2.13 [LeetCode 74] Search a 2D Matrix
    19.2.13 [LeetCode 73] Set Matrix Zeroes
    19.2.13 [LeetCode 72] Edit Distance
    19.2.13 [LeetCode 71] Simplify Path
  • 原文地址:https://www.cnblogs.com/zj901203/p/11161897.html
Copyright © 2020-2023  润新知