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

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

  • 相关阅读:
    最短路之dijkstra算法
    拓扑排序 topsort详解
    POJ2236 Wireless Network 并查集简单应用
    最小生成树详解 prim+ kruskal代码模板
    并查集详解及模板
    POJ 3190 Stall Reservations贪心
    chapter22:源码与Tarball之(1)-传统方法编译与make方法进行编译
    vi的用法
    centos7 connect internet
    java内存区域
  • 原文地址:https://www.cnblogs.com/zerotest/p/14387266.html
Copyright © 2011-2022 走看看