Django descarga un archivo

Soy bastante nuevo en el uso de Django y estoy tratando de desarrollar un sitio web donde el usuario pueda cargar varios archivos de Excel, estos archivos se almacenan en una carpeta multimediaProyecto web / proyecto / medios.

def upload(request):
    if request.POST:
        form = FileForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return render_to_response('project/upload_successful.html')
    else:
        form = FileForm()
    args = {}
    args.update(csrf(request))
    args['form'] = form

    return render_to_response('project/create.html', args)

Luego, el documento se muestra en una lista junto con cualquier otro documento que hayan subido, en el que puede hacer clic y mostrará información básica sobre ellos y el nombre del archivo Excel que han subido. Desde aquí quiero poder volver a descargar el mismo archivo de Excel utilizando el enlace:

 <a  href="/project/download"> Download Document </a>

Mis urls son

 urlpatterns = [

              url(r'^

pero recibo el error, serve () recibió un argumento de palabra clave inesperado 'documento raíz'. ¿Alguien puede explicar cómo solucionar esto?

O

Explicar cómo puedo hacer que los archivos cargados sean seleccionados y servidos usando

def download(request):
    file_name = #get the filename of desired excel file
    path_to_file = #get the path of desired excel file
    response = HttpResponse(mimetype='application/force-download')
    response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
    response['X-Sendfile'] = smart_str(path_to_file)
    return response
, ListView.as_view(queryset=Post.objects.all().order_by("-date")[:25], template_name="project/project.html")), url(r'^(?P<pk>\d+)

pero recibo el error, serve () recibió un argumento de palabra clave inesperado 'documento raíz'. ¿Alguien puede explicar cómo solucionar esto?

O

Explicar cómo puedo hacer que los archivos cargados sean seleccionados y servidos usando

def download(request):
    file_name = #get the filename of desired excel file
    path_to_file = #get the path of desired excel file
    response = HttpResponse(mimetype='application/force-download')
    response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
    response['X-Sendfile'] = smart_str(path_to_file)
    return response
, DetailView.as_view(model=Post, template_name="project/post.html")), url(r'^upload/

pero recibo el error, serve () recibió un argumento de palabra clave inesperado 'documento raíz'. ¿Alguien puede explicar cómo solucionar esto?

O

Explicar cómo puedo hacer que los archivos cargados sean seleccionados y servidos usando

def download(request):
    file_name = #get the filename of desired excel file
    path_to_file = #get the path of desired excel file
    response = HttpResponse(mimetype='application/force-download')
    response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
    response['X-Sendfile'] = smart_str(path_to_file)
    return response
, upload), url(r'^download/(?P<path>.*)

pero recibo el error, serve () recibió un argumento de palabra clave inesperado 'documento raíz'. ¿Alguien puede explicar cómo solucionar esto?

O

Explicar cómo puedo hacer que los archivos cargados sean seleccionados y servidos usando

def download(request):
    file_name = #get the filename of desired excel file
    path_to_file = #get the path of desired excel file
    response = HttpResponse(mimetype='application/force-download')
    response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
    response['X-Sendfile'] = smart_str(path_to_file)
    return response
, serve, {'document root': settings.MEDIA_ROOT}), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

pero recibo el error, serve () recibió un argumento de palabra clave inesperado 'documento raíz'. ¿Alguien puede explicar cómo solucionar esto?

O

Explicar cómo puedo hacer que los archivos cargados sean seleccionados y servidos usando

def download(request):
    file_name = #get the filename of desired excel file
    path_to_file = #get the path of desired excel file
    response = HttpResponse(mimetype='application/force-download')
    response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
    response['X-Sendfile'] = smart_str(path_to_file)
    return response

Respuestas a la pregunta(2)

Su respuesta a la pregunta