gpt4 book ai didi

python - 谁能解释一下如何将 arg 或 kwargs 从重定向传递到另一个 View ?

转载 作者:行者123 更新时间:2023-12-01 06:09:37 29 4
gpt4 key购买 nike

我正在尝试让我正在开发的网站的管理员向成员(member)发送邮件并发送获取确认页面。

发送邮件正在工作并且发送邮件正常,但在确认中我希望他获得他向其发送邮件的人员列表。

因此,我需要将 users_list 从一个函数( View )发送到直接中的另一个函数( View ),并在另一个 View 中读取它,并将其发送到 render_to_response。

我已经阅读了很多内容并尝试了反向操作以及我在网上阅读的许多其他内容,但似乎无法使其工作......

代码:

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))

第一个 View 用于获取用户列表,并将其发送到表单,然后从表单中获取数据,包括选中的复选框,然后获取用户的用户邮件地址(用户通过邮件登录,所以必须有一封有效的邮件),然后将邮件发送给用户并重定向到发送页面(确认页面),管理员应该在其中获取用户列表(这就是我陷入困境的地方,这和那要做在 URLSCONF 文件中)

谢谢,

埃雷兹

最佳答案

您可以将 users_list 设置为 session,而不是尝试以反向/重定向方式传递它。多变的。例如

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

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

关于python - 谁能解释一下如何将 arg 或 kwargs 从重定向传递到另一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6581351/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com