2015-11-05 39 views
1

我正在使用Django网站创建,编辑和删除业务配置文件。到目前为止,我的创建和删除工作完美。Django表单编辑不会在第一次尝试或旧值时加载任何值,除非刷新

编辑页面第一次打开时失败了很多。随后,它将加载先前或旧的值,除非刷新。 我有一个主页,它捕获选定的复选框ID,并根据点击按钮发送编辑或删除视图。它也有一个创建按钮。 我该如何解决这个问题?

def eventedit(request): 
global mybiz_ids 
a = MyEvent.objects.get(id = int(mybiz_ids)) 
if request.method == 'POST': 
    form = MyEventForm(request.POST, instance=a) 
    #form = MyEventForm(instance=a) 
    if form.is_valid(): 
     model_instance = form.save(commit=False) 
     model_instance.timestamp = timezone.now() 
     model_instance.save() 
     return HttpResponseRedirect('/bizprofile/success/') 

else: 
    form = MyEventForm(instance = a)  
return render_to_response('bizprofile/editbizprofile.html', {'form': form} , context_instance=RequestContext(request)) 




def managehome(request): 
global biz_num, deletebiz_ids, mybiz_ids 
if 'add_button' in request.POST: 
    return HttpResponseRedirect('/bizprofile/addbizevent/') 
elif 'delete_button' in request.POST: 
    deletebiz_ids = request.POST.get('recommendations') 
    return HttpResponseRedirect('/bizprofile/deletebizprofile/') 
elif 'edit_button' and 'recommendations' in request.POST: 
    mybiz_ids = request.POST.get('recommendations') ### only for one item 
    return HttpResponseRedirect('/bizprofile/eventedit/') 
else: 
    pass 

biz_num= request.GET.get('biz_num') 
all_entries = MyEvent.objects.filter(belongsto = biz_num) 
if all_entries.exists(): 
    all_entries = all_entries 
else: 
    all_entries = ["Nothing here"] 
return render_to_response('bizprofile/managehome.html', {'all_entries': all_entries}, context_instance=RequestContext(request)) 

这是我的错误的一部分。我重新加载了页面,错误消失了。

DoesNotExist at /bizprofile/eventedit/ 
MyEvent matching query does not exist. 
Request Method: GET 
Request URL: http://www.simufone.com/bizprofile/eventedit/ 
Django Version: 1.8.4 
Exception Type: DoesNotExist 
Exception Value:  
MyEvent matching query does not exist. 

回答

0

您正在使用全局变量在Web应用程序中传递值。永远不要做这件事。由于它是由整个过程共享的,所以以前的任何请求都会设置该值。

如果您需要视图中的一段数据,则应将其传递到URL,POST数据或会话中。

+0

那么问题是全局的?我会努力解决这个问题。 – Godfrey

+0

经过进一步改进,我意识到我需要在重定向视图上发送id。我有这两个工作,但没有太多进展。返回HttpResponseRedirect('/ bizprofile/eventedit /',args =(the_id,))或 返回eventedit(request,the_id) – Godfrey

+0

我不确定你在问什么。 –

相关问题