Donna
Donna

Reputation: 657

Add data to database on two seperate pages

I'm currently working on a webpage using the django framework for python. I need to have a page where admin user's can register an event into the system. Event being: Location on a map, Description, Images, links etc..

I feel it's a bit less confusing If I have the user add location details on the first page but when he has finished choosing a location he could click next, this would take him to another page where he would finish filling out the information about the event.

I'm not sure but I think this is rather a database question than a django question.

How would I continue adding to the same table in a database between two seperate pages?

I thought about using timestamp so I could select the last modified table on the next page but I think that might be risky + if the user goes back to modify the table the timestamp is useless.

I'm using Django 1.5 + postgresql database. Any reading references that might be good to check out for this kind of operation?

Upvotes: 0

Views: 50

Answers (1)

Austin
Austin

Reputation: 4566

I've done something similar to this before. I asked users to enter a zip code on one page and then based upon that zip code it loaded in different options for the form on the next page. Here is how I did it using request.session

Note that this is is my soultion to MY problem. This may not be exactly what you are looking for but might help you get a start. If anyone has a better solution I'd love to see it since I'm not entirely happy with my answer.

views.py

def find_zip(request):                                                                           
    c={}                                                                                         
    form = FindZip()                                                                             
    c['form'] = form                                                                             
    if request.method == 'POST':                                                                 
        form = FindZip(request.POST)                                                                                                       
        c['form'] = form                                                                         
        if form.is_valid():                                                                                      
            zip = form.data['zip']                                                               
            form = ExternalDonateForm(initial={'zip':zip})                                       
            request.session['_old_post'] = request.POST                                          
            c['form'] = form                                                                     
        response = HttpResponseRedirect('/external')                                             

        return response                                                                          

    return render_to_response(                                                                   
        'find_zip.html',                                                                         
        c,                                                                                      
        context_instance=RequestContext(request)       

I then try to retrive that session from the previous view

def donate_external(request):                          
    zip = None                                         
    if request.session.get('_old_post'):               
        old_post = request.session.get('_old_post')    
        zip = old_post['zip']                                            
    )         
    # rest of code ....

Upvotes: 1

Related Questions