Views

  • view名采用大驼峰命名法命名,且必须以View作为后缀
  • 必须继承django.views.generic下的View类或其衍生类:CreateViewDeleteViewUpdateViewDetailViewListView
  • 根据http请求的method定义处理函数
  • 处理函数的第二个参数必须是request,不要使用简写或其他名字
  • 登录鉴权操作放在装饰器中,鉴权失败返回状态码403
  • form表单校验放在装饰器中,校验失败返回状态码422
  • 请求参数校验必须使用Form进行校验,具体参见Forms
  • 除文件或其他二进制数据外,返回的内容都是json格式的数据
class PersonsView(View):
    @login_required()
    @form_valid(PersonsGetForm)
    def get(self, request):
        data = request.valid_data
        q = Q()
        ...
        persons = Person.objects.filter(q)
        results = [_.detail_info() for _ in persons]
        return HttpJsonResponse(results)

results matching ""

    No results matching ""