简单场景-firstview有一个表单(firstform),其中有一个字段“reference”。在secondview中,有一个单独的表单(secondform),它也有一个字段“reference”。我想将secondview中“reference”的值初始化为=firstview中“reference”的值
我是否能够在不通过URL传递该参数的情况下执行此操作
我使用Python2.7作为参考
这就是我尝试过的。它似乎不是这样工作的,我得到了一个“不存在”的错误,我知道这意味着我实际上没有得到那个值
views.py
def firstview(request):
if request.method == "POST":
form = FirstForm(request.POST) #this form contains 'reference'
if form.is_valid():
form.save()
return redirect('secondview')
def secondview(request):
form = SecondForm(request.POST)
if request.method == "POST":
if form.is_valid():
form.save()
...
reference_id = request.POST.get('reference') #this is how Im trying to get reference from the firstview
form = SecondForm(initial={
'reference': Orders.objects.get(reference=reference_id), #this is where im getting "does not exist" error
})
....
return render(request, 'manifest_readonly.html', context)
我不知道您为什么不想在URL中传递它,但如果不想,您可以使用会话
激活django.contrib.sessions.middleware.SessionMiddleware,然后可以使用request.session字典在视图之间传递数据,如下所示:
相关问题 更多 >
编程相关推荐