Python 有人能解释一下如何将arg或kwargs从重定向传递到另一个视图吗?

Python 有人能解释一下如何将arg或kwargs从重定向传递到另一个视图吗?,python,django,django-views,django-urls,Python,Django,Django Views,Django Urls,我试图让我正在开发的网站的经理向会员发送邮件,并发送一个确认页面 “发送邮件”正在运行,发送邮件正常,但在确认中,我希望他获得他发送邮件的联系人列表 因此,我需要在directs中将users_列表从一个函数(视图)发送到另一个函数(视图),并在另一个视图中读取它,然后将其发送到render_to_响应 我在网上读了很多书,尝试了反向阅读和其他很多东西,但似乎都没能成功 守则: def send_members_mail(request): #a list of all active u

我试图让我正在开发的网站的经理向会员发送邮件,并发送一个确认页面

“发送邮件”正在运行,发送邮件正常,但在确认中,我希望他获得他发送邮件的联系人列表

因此,我需要在directs中将users_列表从一个函数(视图)发送到另一个函数(视图),并在另一个视图中读取它,然后将其发送到render_to_响应

我在网上读了很多书,尝试了反向阅读和其他很多东西,但似乎都没能成功

守则:

def send_members_mail(request):
    #a list of all active users in the system to show for send mail
    users_list = User.objects.filter(is_active = True)
    if request.method == 'POST':
        form = UsersForm(request.POST)
        if form.is_valid():
            user_list = []
            cd = form.cleaned_data
            #getting a list of user s that where chosen for send mail, -1 for all users
            for user_id in request.POST.getlist('chk_users'):
                user_list.append(user_id)
            #sending the mail to all list
            if '-1' in user_list:
                 users_list = User.objects.filter(pk__in=users_list).values_list('email', flat=True)
            #sending mail to specific members
            else:
                 users_list = User.objects.filter(pk__in=user_list).values_list('email', flat=True)

            cd = form.cleaned_data

            try:
                send_mail(
                    cd['subject'],
                    cd['message'],
                    'support@test.com',
                    users_list,
                )
            except BadHeaderError:
                return HttpResponse('The Mail header was corrupted, It might be because a server error or might be that you have a virus on your computer!!! please try sending again')
            return redirect('/contacts/sent/', users_list=users_list)

    else:
        form = UsersForm()
    return render_to_response('contacts/send_members_mail.html', {'form':form, 'users_list':users_list}, context_instance=RequestContext(request))

def sent(request, users_list,  *args, **kwargs):
    assert False, users_list
    return render_to_response('contacts/sent.html', context_instance=RequestContext(request))
第一个视图用于获取用户列表,并将其发送到表单,然后从表单中获取数据,包括选中的复选框,然后获取用户的邮件地址(用户通过邮件登录,因此必须有工作邮件),然后将邮件发送给用户并重定向到发送页面(确认页面)管理员应该从中获取用户列表(这就是我被卡住的地方,在URLSCONF文件中做这个和那个)

谢谢,


Erez

您可以将用户列表设置为变量,而不是尝试反向/重定向传递它

# before redirect
request.session['users_list'] = users_list

# in sent view
users_list = request.session.get('users_list', None)

愚蠢的我,非常感谢詹姆斯,会接受答案的时候系统会让我:-)