zoukankan      html  css  js  c++  java
  • Django 静态文件和媒体文件配置

    Django 静态文件和媒体文件配置

    python manage.py runserver 80DEBUG=Ture时候才加载静态文件,False不加载静态文件。

    在部署时设置DEBUG=False才加载静态文件

    settings文件设置如下:

    STATIC_ROOT = 'assets'
    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static')
    ]
    
    # 上传媒体文件
    MEDIA_ROOT = 'media'  # 项目下的目录
    MEDIA_URL = "/media/"  # 跟STATIC_URL类似,指定用户可以通过这个url找到文件
    

    models中设置上传字段:

    class UserProfile(models.Model):
        username = models.ForeignKey(User, related_name='User_Profiles', on_delete=models.CASCADE)
        avatar = models.FileField(upload_to='avatar', blank=True,null=True, verbose_name='头像')
    

    数据库中保存结果:avatar/12.png,存放在media/avatar/12.png

    模板中引用:

    现在settings中设置:

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [
                os.path.join(BASE_DIR, 'templates')
            ],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    '这里省略了,下面这个才是重要的',
                    'django.template.context_processors.media',
                ],
            },
        },
    ]
    
    

    在URL.py中的配置

    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
        # 这里是你的URL
    
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    
    

    在模板中引用:

    <img src="{{ MEDIA_URL }}{{ user.User_Profiles.first.avatar }}" alt="{{ user.username }}" class="w-100 rounded">
    
  • 相关阅读:
    vue 按需加载
    需要打印真实尺寸大小等需求的,css的单位可以使用mm等做单位
    d3 比例尺
    d3 根据数据绘制svg
    d3 svg简单学习
    d3 使用随机数据生成条形图
    d3 画简单的柱形图
    d3 使用数据
    d3 数据绑定
    d3 添加元素相关api
  • 原文地址:https://www.cnblogs.com/Neroi/p/12465638.html
Copyright © 2011-2022 走看看