我正在发送表格。因此,如果有效,我将在消息中设置变量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更适合您的情况。

关于python - Django,使用数据重定向到另一个 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23352749/

10-12 16:40