我们目前在 Django 中完成了一个大型实现,主要输出静态 HTML。我们计划实现一个 javascript 模块化框架来连接到 django 的 API 并定义所需的路由..等
但是,我们不想放弃我们所做的,因为该网站对非 js 用户完全可用。我对 JavaScript MVC 设计的了解越多,就越发现不可能实现这两者一起工作。
关于如何朝着这个方向前进的任何想法?有没有人可以遵循的最佳实践?
我们目前在 Django 中完成了一个大型实现,主要输出静态 HTML。我们计划实现一个 javascript 模块化框架来连接到 django 的 API 并定义所需的路由..等
但是,我们不想放弃我们所做的,因为该网站对非 js 用户完全可用。我对 JavaScript MVC 设计的了解越多,就越发现不可能实现这两者一起工作。
关于如何朝着这个方向前进的任何想法?有没有人可以遵循的最佳实践?
保留你现在得到的东西作为故障保险。创建新的、单独的视图,用于处理数据处理并使用适当格式的响应数据(XML、JSON 等)进行响应的 Ajax 请求。
基本上,Django是您的模型。Javascript 控制器定义的任何操作都可以修改模型或视图。
如果它修改视图,则有两种选择:要么仅更改数据的显示,因此只需调用更改 HTML 的 Javascript 函数,或者显示新数据。在这种情况下,您必须创建一个 Django 视图,以 Javascript 可以轻松处理的格式提供该数据。在您的 Ajax 请求中,提供处理显示该数据的回调(Javascript 的视图部分)。
如果该操作修改了模型,您还需要创建一个 Django 视图,该视图根据需要处理由 Ajax 请求发送的 POST 数据,并以同样易于 Javascript 处理的格式返回错误消息或成功消息. 同样,您应该为处理 Django 返回的消息的显示的 Ajax 请求注册一个回调。
因此,基本上,对当前视图的唯一更改是您提供适当的 Javascript 代码来将操作映射到 Ajax 请求并处理 Django 针对您的 Ajax 请求返回的数据。其他一切都应该在单独的 Django 视图中完成。