django-admin實現文件上傳下載


參考:

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

https://blog.csdn.net/iteye_10850/article/details/82615387

在網站中對用戶開放上傳下載功能是很常見的需求。

最近領導提出,我們的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/appname/a.txt。

MEDIA_URL = 'file/'

表示任何上傳文件鏈接前綴為 'file/'與upload_to='appname/'連起來file/appname/

三、urls.py中配置上傳下載的接口

這個是全局的urls.py

from django.conf import settings
from django.contrib 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}),
    
]

這樣就大功告成了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM