无法使用Django FileTransfers下载文件

时间:2012-11-02 00:09:30

标签: python django django-templates django-views download

我正在通过我网站的管理部分上传文件,我希望能够通过我的网站公开下载。我知道我上传的文件已成功上传,因为我可以在App Engine Blob存储中查看它。我无法找到不符合以下代码的内容:

我的modeL的相关部分:

class CalendarEvent (models.Model):
    file = models.FileField(upload_to='uploads/%Y/%m/%d/%H/%M/%S/')

在我的views.py文件中,相关代码是:

def calendar(request):
    events = CalendarEvent.objects.exclude(start__lt=datetime.datetime.now()).order_by('start')
    return render_to_response('home/calendar.html',{'events': events},context_instance=RequestContext(request))

def download_handler(request, pk):
    upload = get_object_or_404(CalendarEvent, pk=pk)
    return serve_file(request, upload.file, save_as=True)

在我的模板中,相关代码是:

{% for e in events %}
    {% url Calendar.views.download_handler pk=e.pk as fallback_url %}
    <a href="{% firstof e.file|public_download_url fallback_url %}">Download</a>
{% endfor %}

1 个答案:

答案 0 :(得分:0)

您的download_handler的视图名称应为<appname>.views.download_handler。您可能没有名为“e”的应用程序,其中包含适当的视图。