Django用ajax请求

时间:2017-09-10 16:46:22

标签: ajax django

我正在开发一个简单的mvc应用程序,我必须使用ajax提交表单。然后我创建一个类来管理来自特定模块的所有请求

class Produto(View):
    template_name = 'produto/index.html'

    def get(self, request):
        context = {
            'modulos': CELLO_APPS,
            'modulo': 'Produtos'
        }

        return render(request, self.template_name, context)

    def post(self, request):

        if request.is_ajax() and request.method == "POST":
            return JsonResponse({'FOO': 'BAR'})
        else:
            raise Http404

这对我来说看起来很合乎逻辑,但它不起作用并引发错误

  

缺少1个必需的位置参数:'request'

我能解决这个问题的唯一方法是将post方法设置为静态

class Produto(View):
    template_name = 'produto/index.html'

    def get(self, request):
        context = {
            'modulos': CELLO_APPS,
            'modulo': 'Produtos'
        }

        return render(request, self.template_name, context)

def post(request):

    if request.is_ajax() and request.method == "POST":
        return JsonResponse({'FOO': 'BAR'})
    else:
        raise Http404

所以我有两个疑问:

1-如何创建一个具有ajax可访问的许多函数的单个类?

2-这是管理这些观点的最佳或推荐方式吗? (考虑到这个应用程序将来会增长很多)

编辑。

以下是我的urls.py

urlpatterns = [
    url(r'^inserir', Produto.inserir, name='produto_inserir'),
    url(r'^$', Produto.as_view(), name='cliente'),
]

0 个答案:

没有答案