django-admin实现⽂件上传下载参考:
在⽹站中对⽤户开放上传下载功能是很常见的需求。
最近领导提出,我们的api注册中⼼,需要⽀持⽤户使⽤python脚本对结果进⾏格式转换
于是我们添加了⽂件的上传下载功能
⼀、模型models
在模型中指定保存⽂件的字段
#底层mysql还是⼀个varchar类型,存的是⽂件在项⽬中的相对路径
result_filter = models.FileField(upload_to='{app_name}/', blank=True, null=True,max_length=100,verbose_name='结果转换脚本')⼆、settings⽂件中指定⽂件⽬录
settings加⼊
MEDIA_URL = 'file/'
MEDIA_ROOT = 'file/'
MEDIA_ROOT = 'file/'
于是上传⽂件的路径就是MEDIA_ROOT = 'file/'与upload_to='appname/'连起来file/appname/
上传a.txt,⽬录为file/。
MEDIA_URL = 'file/'
表⽰任何上传⽂件链接前缀为 'file/'与upload_to='appname/'连起来file/appname/
三、urls.py中配置上传下载的接⼝
这个是全局的urls.py
f import settings
django admin 自定义页面ib import admin
from django.urls import path, include, re_path
from django.views.static import serve
urlpatterns = [
#...
re_path(r"file/(?P<path>.*)$", serve, {"document_root": settings.MEDIA_ROOT}),
]
这样就⼤功告成了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论