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就能正确识别文件路径,上传下载文件了

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

  • 相关阅读:
    对我影响最大的老师
    介绍自己
    JavaScript 时间特效 显示当前时间
    js 获取函数的所有参数名
    node.js 在函数内获取当前函数
    js 实现二叉排序树
    命令行下mysql的部分操作
    浅析js的函数的按值传递参数
    返回上一页时,保存恢复浏览记录(模拟返回不刷新)
    让mongodb执行js文件
  • 原文地址:https://www.cnblogs.com/zerotest/p/14387266.html
Copyright © 2011-2022 走看看