【发布时间】:2019-01-24 05:15:01
【问题描述】:
我正在尝试在我的 Django 应用程序中编写“保存并添加另一个”功能。
我给按钮添加了一个 elif 条件。我在网上找不到任何有用的资源和参考资料,尤其是我的代码集。我已经尝试在 elif 中放入两个返回并将 self.object sn-p 放入其中。有什么建议我能做什么?我对 Django 很陌生。请帮忙。
Views.py
def post(self, request, *args, **kwargs):
if "cancel" in request.POST:
return HttpResponseRedirect(reverse('skillsMatrixApp:index'))
elif "another" in request.POST:
#try 1
#self.object = self.get_object()
#url = self.get_success_url()
#return HttpResponseRedirect(url)
#try 2
#return HttpResponseRedirect(reverse('skillsMatrixApp:employee-add'))
#return super(employeeCreate, self).post(request, *args, **kwargs)
else:
return super(employeeCreate, self).post(request, *args, **kwargs)
employee_form.html
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" formnovalidate name="cancel" class="btn btn-danger">Cancel</button>
<button type="submit" formnovalidate class="btn btn-success">Submit</button>
<button type="submit" formnovalidate name="another" class="btn btn-danger">Save and add another</button>
</div>
urls.py
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
url(r'employee/$', views.employeeList.as_view(), name='employee-list'),
url(r'employee/add/$', views.employeeCreate.as_view(), name='employee-add'),
【问题讨论】:
-
取消按钮有用吗?
-
两次返回是没有意义的。你到底想要这个功能做什么?您不只是想重定向回同一页面,以便用户可以再次填写空表单吗?
-
首先你应该了解 return 语句的作用,因为这绝对是基本的
-
嗨@InesTlili,是的,取消按钮工作得很好。 :)
-
嗨@DanielRoseman,是的,这正是我的目标,但我在网络上找不到任何适合我的逻辑和代码的有用资源。
标签: python django web django-templates django-views