使用Angularjs单页面应用程序处理Django模型表单+ REST框架

时间:2014-05-23 10:17:58

标签: django angularjs single-page-application django-rest-framework django-forms

我正在尝试使用SPA在我现有的Django项目中实现Angularjs。我已使用Django Rest Framework设置API的开头,以检索角度的数据。

我的一些django模型在它们中有很多复杂性,并且希望以某种方式将它传递给客户端。

我可能在这里错了,但由于我将此项目设置为SPA,一旦我将用户从我的django urls.py发送到项目,则通过$routeProvider进行角度路由接管并通过REST api与我所有的角色内容交谈以获取数据(控制器,服务等)。这样就无法通过上下文发送我的表单。

我在angularjs和django表单中看到的每个例子总是明确地写出表单中的每个字段。反正我有没有让我的django模型表单在其__init__方法中有一堆代码,而不必手动设置每个字段到客户端?

1 个答案:

答案 0 :(得分:0)

我从来没有尝试过这个,但这就是我开始尝试这样做的方式。

您可以使用表单的内置as_p(),as_ul()和as_table()方法从REST API传递表单HTML,例如

class MyApiView(ApiView):
    def get(self, request, format=None):
        form = MyForm()
        response['form_html'] = my_form.as_ul()

        return Response(response)

然后,您需要在Angular中构建表单框架并提交按钮,然后将form_html作为表单体插入,就像在标准django模板中一样。

免责声明:我已经有一段时间了,因为我已经正确使用了django-rest-framework所以我的例子中的语法不正确,但基本的想法是