如果Django视图中出现故障,则重定向

2024-05-15 00:55:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个功能。我要执行以下两行:

list = utils.get_connection().get_list_by_id(MAILCHIMP_LIST_ID)
list.subscribe(email_address, {'EMAIL': email_address, 'FNAME': fname, 'LNAME': lname})

如果失败了,我想把它们重定向到'/mailing_list_failure'

以下是完整功能:

def add_email_to_mailing_list(request):
    if request.POST['email'] and len(request.POST['email']) > 4:
        email_address = request.POST['email']
        fname = request.POST['fname']
        lname = request.POST['lname']
        #If two next lines are failure return to '/mailing_list_failure/'
        list = utils.get_connection().get_list_by_id(MAILCHIMP_LIST_ID)
        list.subscribe(email_address, {'EMAIL': email_address, 'FNAME': fname, 'LNAME': lname})

        return HttpResponseRedirect('/mailing_list_success/')
    else:
        return HttpResponseRedirect('/mailing_list_failure/')

Tags: 功能getbyreturnfailureaddressemailrequest
1条回答
网友
1楼 · 发布于 2024-05-15 00:55:02

听起来您想使用try/except块。我不是python专家,所以请告诉我这是否可以改进,我会更新它。你知道吗

def add_email_to_mailing_list(request):
    if request.POST['email'] and len(request.POST['email']) > 4:
        email_address = request.POST['email']
        fname = request.POST['fname']
        lname = request.POST['lname']
        #If two next lines are failure return to '/mailing_list_failure/'
        try:
            list = utils.get_connection().get_list_by_id(MAILCHIMP_LIST_ID)
            list.subscribe(email_address, {'EMAIL': email_address, 'FNAME': fname, 'LNAME': lname})
            return HttpResponseRedirect('/mailing_list_success/')
        except:
            return HttpResponseRedirect('/mailing_list_failure/')

查看此链接:

http://docs.python.org/2/tutorial/errors.html

相关问题 更多 >

    热门问题