Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7967643
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T06:57:23+00:00 2026-06-04T06:57:23+00:00

Using Django, I want to make some data available for download. My jQuery call

  • 0

Using Django, I want to make some data available for download.

My jQuery call looks like this so far:

$.getJSON("/get_data", 
            { users: users, study: "{{study.id}}" } ,
            function(json){
                alert('some data!');
            }
);

This calls one of my Django views, which in turn generates some JSON and attempts to make that JSON text in a file to download

jsonResponse = json.dumps(data, cls=DjangoJSONEncoder)

jsonFile = cStringIO.StringIO()
jsonFile.write(jsonResponse)

response = HttpResponse(jsonFile, mimetype='application/json')
response['Content-Disposition'] = 'attachment; filename=data.txt'

return response

However, this does not work. After looking around for a while, I believe I should change something on both ends – the Javascript and the python/Django code – but I’m unclear what exactly.

For Python, my main concern is in the use of cStringIO (especially the fact that I cannot execute close on jsonFile before returning without prompting a “ValueError: I/O operation on closed file”).

Maybe I should also be using a FileWrapper (like in this post), but I get identical results with and without it.

For Javascript, I’m not sure what should go into my success handler function.

Any pointers would be greatly appreciated!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T06:57:23+00:00Added an answer on June 4, 2026 at 6:57 am

    The classic solution for this is to use an hidden iframe.

    In your urls.py

    url(r'^test/getFile', 'getFile')
    

    In your views.py

    def getFile(request):
        fileContent = "Your name is %s" % request.GET['name']
        res = HttpResponse(fileContent)
        res['Content-Disposition'] = 'attachment; filename=yourname.txt'
        return res
    

    On your page

    <script type="text/javascript">
        var data = {name: 'Jon'};
        $(function(){
            $("body").append('<iframe src="/test/getFile?'+ $.param(data) + '" style="display: none;" ></iframe>');
        });
    </script>
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want to make something like http://www.djangosnippets.org/accounts/register/ using django..the register form. I am new
I want to make some changes to the data on my production Django server,
I want to push my Django project with some JavaScript/jQuery. To make it right
I want to build an API service using Django. A basic workflow goes like
I've implemented a notification bar using django.contrib.messages . Now, I want to make extended
I'm trying to get some AJAX running with Django using jQuery. The problem is
I want to make valums/file-uploader run with django upload, using it with model fields
I am using django 1.1 beta release. In my project I want to use
I'm using django-taggit. I am tagging action items and info items. I want to
Hay, I'm using django 1.2 and i want to know how to count rows

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.