我在django中有两个视图:一个加载页面,另一个保存表单。我已经将两者分开,这样我就可以保持在同一页上,而不会因为刷新页面而导致重新提交
保存表单的create视图重定向回用HttpResponseRedirect
加载页面的视图
在loadpage视图中,是否可以通过重定向获取create视图是否调用了该视图
所以:
def holiday(request, value=None, year=None, month=None):
if request.method == "GET":
# set some variables for the view
year = something
month = something_else
else:
# get if the view was executed from a redirect
# set year and month to be something2 and something_else2
# calendar
holidayform = HolidayForm(request.POST or None, request.FILES or None)
context = {
"holidayform": holidayform,
"calendar": mark_safe(cal),
"year": year,
"month": month,
}
return render(request, "tande/calendar.html", context)
然后保存窗体的视图:
def create_holiday(request):
overlapping_dates = False
if request.method == "POST":
#save the form... or don't
return HttpResponseRedirect(reverse("tande:holiday"))
HttpResponseRedirect
将直接重定向用户。基本上,就好像用户在浏览器中输入了URL并按下了enter。这意味着过去请求中的一些信息将不可用https://docs.djangoproject.com/en/1.10/ref/request-response/#httpresponse-subclasses
可以通过GET参数传递标志。它会成功的:
然后在
form_view
中读取GET参数:你只需要想想如果用户故意将GET参数添加到URL中会发生什么。他可以伪造结果。如果您的意图是显示一条消息,那么它不会是一个问题
相关问题 更多 >
编程相关推荐