2024-04-25 17:32:42 发布
网友
我想做以下工作:
redirection
如何重新呈现view1,并在view2中生成错误消息,以便用户看到的唯一新事物是错误消息?完整的template1应该像以前一样呈现,包括用户输入的任何表单值。你知道吗
这与表单验证类似,但会发生在目标视图而不是表单视图中。你知道吗
这是可行的,还是我想做一些完全不可能的事?你知道吗
似乎没有“中止”视图的方法,但可以通过以下模式获得所需的行为:
from django.contrib import messages from django.shortcuts import redirect def view1(request): if request.method == 'GET': initial_data = request.session.get('post_data', {}) form = MyForm(initial=initial_data) ... def view2(request): ... if error: request.session['post_data'] = request.POST messages.add_message(request, messages.ERROR, "Oops!") return redirect(request.META.get('HTTP_REFERER', '/'))
请参见this stack post了解为什么保存POST数据是痛苦的,以及这样做的其他方法。你知道吗
POST
似乎没有“中止”视图的方法,但可以通过以下模式获得所需的行为:
请参见this stack post了解为什么保存
POST
数据是痛苦的,以及这样做的其他方法。你知道吗相关问题 更多 >
编程相关推荐