0

サイトの管理セクションからファイルをアップロードしていますが、それを自分の Web サイトから一般にダウンロードできるようにしたいと考えています。アップロードしたファイルは、App Engine Blob ストレージで表示できるので、正常にアップロードされていることがわかります。以下のコードで何が機能していないのかを見つけるのに苦労しています:

私のモデルの関連部分:

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 %}
4

1 に答える 1

0

download_handler のビュー名は<appname>.views.download_handler. おそらく、適切なビューを備えた「e」という名前のアプリがありません。

于 2012-11-02T00:42:31.857 に答える