下载文件

1
2
3
4
5
# view.py
def download_file(request):
response = FileResponse(open(filename, 'rb'))
# response['Content-Type'] = 'application/octet-stream'
# response['Content-Disposition'] = 'attachment;filename="filename.suffix"'

上传文件

1
2
3
<form enctype="multipart/form-data">
<input type="file" name="xxx">
</form>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# setting.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
# urls.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

# view.py
def view(request):
file = request.FILES['xxx']

# attr
key # input name
name # 文件名
file # 字节流数据
1
2
3
4
5
6
7
# models.py
class Content(models.Model)
file_path = models.FileField(upload_to='子目录名')

# view.py
def upload_file(request):
Content.objects.create(file_path=file_path)