首页 > 解决方案 > 在 django 中返回上一页

问题描述

当我单击“添加”按钮时,我想将数据保存在表单中并返回上一页。它显示了一些错误。任何人都可以提出正确的方法吗?

模板.html

  <div class="panel panel-default">
  <div class="panel-heading">
    <h3 class="panel-title">Add your own Category </h3>
  </div>
  <div class="panel-body">
    <form method="POST" class="post-form">
      {% csrf_token %}
      {{ form.as_p }}

                    </div>
                      </div>
                    </div>
        <input type="hidden" name="next" value="{{ request.path }}">
       <button type="submit" class="save btn btn-default" >Add</button>
    </form>

视图.py

class CustomCategory(LoginRequiredMixin,CreateView):
    model = Category

   form_class = CategoryForm

   def form_valid(self, form):
    obj = form.save(commit=False)

   def category(request):
    next = request.POST.get('next', '/')
    return render (request,HttpResponseRedirect(next))

标签: pythondjango

解决方案


与其将重定向添加为表单的元素,不如在视图上使用 success_url 字段,或者如果您需要访问的 URL 依赖于对象,请在视图上使用 get_success_url 方法?

https://docs.djangoproject.com/en/2.0/ref/class-based-views/mixins-editing/


推荐阅读