首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何插入数据而不刷新或重新加载页面?

如何插入数据而不刷新或重新加载页面?
EN

Stack Overflow用户
提问于 2020-03-06 15:05:16
回答 2查看 2.2K关注 0票数 5

如何在用户插入数据(request.post)后在django中返回当前页面

设想情况:

如果教师插入学生的成绩,则当前页面将重新加载或刷新。

我不知道我是否可以通过使用重定向来实现它。

代码语言:javascript
复制
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

代码语言:javascript
复制
path('teacher/', Homepage.views.teacher, name='teacher'),
path('grades/', Homepage.views.grades, name='grades'),

这就是我所犯的错误

更新

当我改变我的

代码语言:javascript
复制
  response = redirect(teacher)
  return response

到这个

代码语言:javascript
复制
return redirect(reverse('teacher'))

我得到了同样的结果

再次更新

当我尝试这个

代码语言:javascript
复制
def grades(request):
    V_insert_data = StudentSubjectGrade(
          ...
    )
  V_insert_data.save()
return HttpResponseRedirect(request.path_info)

我知道这个错误

我已经清除了我的cookie,但是仍然会出现这个错误。

EN

回答 2

Stack Overflow用户

发布于 2020-03-16 16:55:35

如果要在表单成功提交后重定向到同一页,请返回HttpResponseRedirect。让我在这里给出一个样本

代码语言:javascript
复制
from django.http import HttpResponseRedirect

def grades(request):
    if request.method == 'POST':
        # do your stuff here (saving data to db)
        return HttpResponseRedirect(request.path_info)
    return render(request, template, {'form': your_form})
票数 4
EN

Stack Overflow用户

发布于 2020-03-16 16:31:24

代码语言:javascript
复制
def grades(request):
    V_insert_data = StudentSubjectGrade(
          ...
    )
  V_insert_data.save()

  return redirect(reverse('teacher'))


def teacher(request):
    if request.method == 'POST':
        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')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60566742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档