zoukankan      html  css  js  c++  java
  • django-admin上传下载文件

    djangoadmin默认上传文件无法浏览,可以按以下方法解决

    class TestData(models.Model):
        name = models.CharField(max_length=200)
        data = models.FileField(upload_to='appname/', null=True, blank=True)
        img = models.ImageField(upload_to='appname/', null=True, blank=True)
    
        def __str__(self):
            return self.name

    创建文件表,加入admin.py

    @admin.register(models.TestData)
    class TestDataAdmin(admin.ModelAdmin):
        pass

    后台上传文件,后浏览无文件。

    解决方法:

    1.settings加入

    MEDIA_URL = 'data/'
    MEDIA_ROOT = 'data/'

    MEDIA_ROOT = 'data/'

    于是上传文件的路径就是MEDIA_ROOT = 'data/'与upload_to='appname/'连起来data/appname/

    上传a.txt,目录为data/appname/a.txt。

    MEDIA_URL = 'data/'

    表示任何上传文件链接前缀为 'data/'与upload_to='appname/'连起来data/appname/

    打开后链接对了,django无法识别路径。

    2.urls.py加入re_path(r"data/(?P<path>.*)$", serve, {"document_root": settings.MEDIA_ROOT})

    from . import settings
    from django.contrib import admin
    from django.urls import path, include, re_path
    from django.views.static import serve
    
    urlpatterns = [
        path('appname/',include('appname.urls')),
        path('admin/', admin.site.urls),
        re_path(r"data/(?P<path>.*)$", serve, {"document_root": settings.MEDIA_ROOT}),
    ]

    这样djangoadmin就能正确识别文件路径,上传下载文件了

    下一篇介绍自定义页面上传下载文件

  • 相关阅读:
    HttpClient
    spring入门
    morphia进阶
    morphia基本API方法
    mangodb数据库框架morphia注解
    学与思
    解决vscode执行yarn启动项目报错
    使用swiper+动画实现轮播图自动播放
    vue中使用el-tree实现一行显示多条数据
    使用git命令提交部分修改代码
  • 原文地址:https://www.cnblogs.com/zerotest/p/14387266.html
Copyright © 2011-2022 走看看