Django上传/下载文件

时间:2018-09-10 09:33:34

标签: django python-3.x

我是django的新手。在我的项目中,我需要添加用户表单以上传一些文件并下载上传的文件。

将此视为在线存储空间。 这需要由基于类的视图来处理,以便扩展视图。

到目前为止,我尝试使用django-downloadview作为objectdownloadview https://django-downloadview.readthedocs.io/en/1.9/views/object.html 这个例子很好用。但是我无法将其扩展为项目的基于类的视图。 子弹的更多例子是我尝试将其更改为PK,但抛出错误。

我尝试了django-downloadview示例中的以下代码:-

Views.py

from django_downloadview import ObjectDownloadView

from .models import Document


default_file_view = ObjectDownloadView.as_view(model=Document)

Models.py

from django.db import models


class Document(models.Model):
    slug = models.SlugField()
    file = models.FileField(upload_to='object')

urls.py

from django.conf.urls import  url

from .views import *


urlpatterns = [
    url(r'^object/(?P<slug>[a-zA-Z0-9_-]+)/$',default_file_view,name='object'),
]

有人可以在这里帮助我,还是分享一个简单的1页django文件上传和下载内容的工作示例。

关于, 贾斯瓦尔

1 个答案:

答案 0 :(得分:0)

如果您按如下所示更改url表达式,则可以通过指定PK下载文件,

urlpatterns = [
    url(r'^object/(?P<pk>[0-9]+)/$', default_file_view, name='object'),
]


更新

class MyView(ObjectDownloadView):
    # override something here

并在urls.py中将其用作

urlpatterns = [
    url(r'^object/(?P<pk>[0-9]+)/$', MyView.as_view(model=Document), name='object'),
]