繁体   English   中英

Django,用数据重定向到另一个视图

[英]Django, redirect to another view with data

我正在发送一份表格。 因此,如果它有效,我正在设置带有message的变量消息。 因此,如果表单有效,我想重定向到另一个视图,但也传递message变量。 它应该是一个语法问题。

成功提交后,它会重定向到包含url membership/enroll/studies.views.dashboard的视图,这当然是错误的。

views.py

def enroll(request):
    user = request.user
    if request.method == 'POST':
        form = SelectCourseYear(request.POST)
        if form.is_valid():
            student = form.save(commit=False)
            student.user = request.user
            student.save()
            message = 'Successfully Enrolled'
        return redirect('studies.views.dashboard', {'message': message,})
    else:
        form = SelectCourseYear()
    return render(request, 'registration/step3.html',)

考虑使用会话在请求之间存储任意数据: https//docs.djangoproject.com/en/dev/topics/http/sessions/

request.session['message'] = 'Successfully Enrolled'

或者,如果您只想向用户显示消息,您可能会对contrib.messages框架感到满意: https ://docs.djangoproject.com/en/dev/ref/contrib/messages/

from django.contrib import messages
messages.success(request, 'Successfully Enrolled')

根据您上面的用例,我猜测contrib.messages更适合您的场景。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM