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

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

  • 相关阅读:
    parent和top
    history
    [矩阵快速幂]T-shirt(2018江苏邀请赛I题)
    [学习]Java学习
    [数论]Factors of Factorial
    [RMQ][ST算法]Frequent values
    [二维树状数组]计数问题
    [树状数组]Mishka and Interesting sum(codeforces703D)
    [简单思维题]Snuke's Coloring 2-1
    [树状数组][逆序数]Ultra-QuickSort
  • 原文地址:https://www.cnblogs.com/zerotest/p/14387266.html
Copyright © 2011-2022 走看看