首页 > Web开发 > 详细

django-admin上传下载文件

时间:2021-02-08 10:53:25      阅读:103      评论:0      收藏:0      [点我收藏+]

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

 

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

django-admin上传下载文件

原文:https://www.cnblogs.com/zerotest/p/14387266.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!