【发布时间】:2020-06-19 08:19:52
【问题描述】:
用户插入数据后如何在django中返回当前页面(request.post)
场景:
如果教师插入学生的成绩,当前页面将重新加载或刷新。
我不知道我是否可以通过使用重定向来实现它。
def grades(request):
V_insert_data = StudentSubjectGrade(
...
)
V_insert_data.save()
//redirect the same page
def teacher(request):
if request.method != 'POST':
raise Http404('Only POSTs are allowed')
try:
......
return render(request, 'Homepage/index.html')
except EmployeeUser.DoesNotExist:
messages.warning(request, 'Your Username and password are Incorrect.')
….
return render(request, 'Homepage/TeacherLogin.html')
urls.py
path('teacher/', Homepage.views.teacher, name='teacher'),
path('grades/', Homepage.views.grades, name='grades'),
这是我得到的错误
更新
当我改变我的时候
response = redirect(teacher)
return response
到这里
return redirect(reverse('teacher'))
我得到相同的结果
更新再次
当我尝试这个时
def grades(request):
V_insert_data = StudentSubjectGrade(
...
)
V_insert_data.save()
return HttpResponseRedirect(request.path_info)
我收到此错误
我已经清除了我的 cookie,但仍然出现此错误
【问题讨论】:
-
我不明白你想在这里实现什么。但是您收到的错误是因为您正在向视图发送
GET请求,并且从您指定的视图中,如果requests.method不是POST,那么您正在引发Http404错误。 -
我想要达到 @mohammedwazeem 先生的目标是,如果老师插入学生的成绩,当前页面只会重新加载