• Django设置上传文件夹


    django提供了两种字段类型models.FileField与models.ImageField,用于保存上传文件与图象.这两类字段提供了一个参数'upload_to',用于定义上传文件保存的路径(完整的路径为settings.MEDIA_ROOT + upload_to).
    在设置符文本编辑器的时候设置了upload.py上传文件的代码,
     
     
    还需要在settings里面进行设置,#自定义用户model
    AUTH_USER_MODEL = 'blog.User'
    avatar = models.ImageField(upload_to='avatar/%Y/%m', default='avatar/default.png', max_length=200, blank=True, null=True, verbose_name='用户头像')
    ImageField是图像字段upload_to是上传路径 default默认图片
    需要在settings里面设置上传路径
     
     
    上传文件
    KinderEditor没有提供python的上传文件的接口,所以需要自己进行配置
    固定上传的目录为uploads
    url(r"^uploads/(?P<path>.*)$", "django.views.static.serve", {"document_root": settings.MEDIA_ROOT,}),
     
    uploads 是说明这是一个路由的地址,(?P<path>.*)$"这里可以是任意字符, "django.views.static.serve"是调用django里面的server方法
    "
    document_root": settings.MEDIA_ROOT,这是对应路径
    avatar = models.ImageField(upload_to='avatar/%Y/%m', default='avatar/default.png', max_length=200, blank=True, null=True, verbose_name='用户头像')
    upload_to
    ='avatar/%Y/%m'
    自定义上传路径,上传到指定文件
     
     
    步骤
    在settings.py文件里面进行设置
    MEDIA_URL = '/uploads/'

    MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
    创建uploads文件夹
    在url文件当中引入settings  from django.conf import settings
     
    url(r"^uploads/(?P<path>.*)$", "django.views.static.serve", {"document_root": settings.MEDIA_ROOT,}),
     
    avatar
    = 
    models.ImageField(upload_to
    ='avatar/%Y/%m'
    ,在models里面已经设置了上传路径,是在settings里面设置的路径下面,这里写的是avatar/年/月 存储http://localhost:8000/uploads/avatar/2015/12/mamao.jpg因为在url里面有设置,所以可以直接在输入url也可以访问到
     
    广告
    <img id="slide-img-{{ ad.id }}" src="uploads/{{ ad.image_url }}" 
    图片的src目前有三种情况1:绝对路径2:静态文件的相对路径<img id="slide-img-1" src="{% static 'images/a1.jpg' %}" alt="" />3:上传文件的路径
    <img id="slide-img-{{ ad.id }}" src="uploads/{{ ad.image_url }}"  直接写uploads文件夹加上传文件地址相当于就是绝对路径
    src="../uploads/{{ ad.image_url }}"这里面需要加引号,写的就是绝对路径
     
     
    
    
     
     
     





  • 相关阅读:
    vue富文本编辑器
    vue图片上传组件
    vue全局使用axios插件请求ajax
    vue项目初始化时npm run dev报错webpack-dev-server解决方法
    vue axios使用form-data的形式提交数据
    react-keep-alive
    create-react-app 兼容 ie9
    next-定义路由
    next-支持css样式和按需加载antd
    react-错误边界
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5749489.html
Copyright © 2020-2023  润新知