为了账号安全,请及时绑定邮箱和手机立即绑定

从Django下载sqlite文件

从Django下载sqlite文件

慕的地6264312 2021-03-15 16:13:44
我有使用sqlite作为数据库的Django应用。我不会制作能够下载该sqlite文件的视图。到目前为止,这是我得到的:def backup(request):    """Return Sqlite3 db file, if Sqlite3 db is used."""    import settings    db_engine = settings.DATABASES['default']['ENGINE']    #db_engine = 'JUST_FOR_TESTING'    if db_engine == 'django.db.backends.sqlite3':        db_path = settings.DATABASES['default']['NAME']        response = HttpResponse(mimetype='application/x-sqlite3')        response['Content-Disposition'] = 'attachment; filename=%s' % db_path        response.write(db_path)        return HttpResponse(response)    else:        return HttpResponse("settings.DATABASES['default']['ENGINE'] is %s,<br />\                             only for 'django.db.backends.sqlite3' online backup is posible." % (db_engine))我所缺少的是如何将文件添加为附件。还可以通过某种方式仅下载特定表吗?
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

您只是试图将文件路径作为附件发送。


相关代码是


from django.conf import settings

from django.core.files import File

db_path = settings.DATABASES['default']['NAME']

dbfile = File(open(db_path, "rb"))

response = HttpResponse(dbfile, mimetype='application/x-sqlite3')

response['Content-Disposition'] = 'attachment; filename=%s' % db_path

response['Content-Length'] = dbfile.size


return response


查看完整回答
反对 回复 2021-03-24
  • 2 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号