0

我目前正在使用适用于 python 的 django 框架开发一个网页。我需要一个页面,管理员用户可以将事件注册到系统中。事件是:地图上的位置、描述、图像、链接等。

我觉得这有点不那么令人困惑如果我让用户在第一页添加位置详细信息,但是当他完成选择位置后,他可以单击下一步,这会将他带到另一个页面,在那里他将完成有关事件的信息的填写.

我不确定,但我认为这是一个数据库问题而不是 django 问题。

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

我考虑过使用时间戳,所以我可以在下一页上选择最后修改的表,但我认为这可能是有风险的 + 如果用户回去修改表,时间戳是无用的。

我正在使用 Django 1.5 + postgresql 数据库。任何可能有助于检查这种操作的阅读参考资料?

4

1 回答 1

1

我以前做过类似的事情。我要求用户在一个页面上输入邮政编码,然后根据该邮政编码加载到下一页表单的不同选项中。这是我使用request.session的方法

请注意,这是我对我的问题的看法。这可能不是您正在寻找的东西,但可能会帮助您开始。如果有人有更好的解决方案,我很乐意看到它,因为我对我的回答并不完全满意。

视图.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)       

然后我尝试从以前的视图中检索该会话

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 ....
于 2013-06-20T12:56:19.337 回答