基于功能的视图,专门用于ajax调用

时间:2019-01-06 17:23:44

标签: django django-views

我已经设置了许多基于功能的视图,这些视图只能由ajax调用来调用。这些ajax调用仅将表单数据的一部分传递到视图中。我对此有几个疑问。

1)我检查了request.is_ajax()是否实现了'if form.is_valid()'。

if request.is_ajax():
   if form.is_valid():
      all of my code in this Function Base View

form.is_valid()条件的包含阻止了我的代码运行。检查表格是否有效有多重要?当我只将某些表单字段传递到视图中时,可以完成此验证吗?

2)我的ajax调用是POST调用。如果request.METHOD =='POST'在基于函数的视图中放在我的代码上方,它有多重要?我相信该呼叫将始终为POST,是否有理由进行检查?不检查是否表示安全问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

所有这些检查都是设计问题。您显然可以省略它们,但是您的代码可能更容易破解。 验证对于防止查询存储数据的良好执行很重要。

我更喜欢CBV方法而不是Django。因为您可以重用泛型视图,并且可以使用OOP轻松覆盖其方法来执行您想要的操作