【发布时间】:2017-03-02 04:55:45
【问题描述】:
我是网络编程新手。所以我对概念很困惑。
我了解到前端开发人员和后端开发人员的职责不同,如下所示。
Front-End developer : html css js
Back-End developer : Django Web framework in Server
Back-End developer(Server -> Data)
Front-End Developer(Data->html with css,js(JQuery,Angular..))
我了解 Django 框架是与前端耦合的。所以我想通过 django rest 框架发送数据,以便为前端和后端开发人员更清楚地(非耦合方式)划分职责。
我认为如果前端开发人员知道他们将获取页面(模板)或发送的数据信息(如下所示),他们可以使用html,css,js构建页面,而无需任何耦合的作品。
{ "id": { "type": "integer", "required": false, "read_only": true, "label": "ID"}
"title": { "type": "string", "required": true, "read_only": false, "label": "Title", "max_length": 200} ... }
但我很困惑。
例如:
您可以通过Get Method example.com/home.(JSON类型)获取用户列表 您需要在模板上显示此列表(使用 html、css、js 或 JQuery 或其他东西)。
如果你点击 example.com,urls config 用正则表达式找到正确的视图,然后像下面这样渲染模板
example.com/home -> Server -> url config -> views -> template(render)
urls.py
url(r'^home$'), something_view.as_view()
views.py
class something_view(generic form or something)
render(request, "something_template.html", Context)
something_template.html
要使用 django restframework 的序列化器, 您还需要通过 Serializer -> View -> Renderer。它会在观点上发生冲突。一个 url 和两个与之相关的视图...
您需要在 django 中显示模板,并且需要将 JSON 数据发送到模板以在 django restframework 模块中显示用户列表。你怎么能这样做?
在 Django 框架中,前端开发人员和后端开发人员如何在没有太多耦合任务的情况下工作?
嗯,这可能是一个荒谬的问题。但我对自己缺乏知识感到很困惑。我自己也搞不清楚。
感谢您阅读我的问题!
【问题讨论】:
-
我不太清楚你在问什么,但我还没有遇到必须做一些前端工作的后端开发人员。它的工作方式与翻译相同,如果您愿意,您可以给某人一个大纲或“模板”,然后他们填写空白。虽然,我们的“前端人员”也负责后端的工作。无论哪种方式,这听起来都将取决于公司/资源。
-
@Sayse 嗨。当您与前端开发人员一起工作时,我的问题会像我对工作流程的困惑一样令人困惑。首先,Django 有自己的模板引擎。如果您使用 django.form,您只需将模板语法 {{ form }} 放入 html 中。前端开发者不知道它是什么以及如何用 html、cs、js 制作首页。
-
我认为如果您使用许多必须由 django 模板引擎呈现的模板语法,那么它与前端开发人员的工作非常耦合。所以为了防止与前端开发人员的合作,我认为最好的选择是只发送 JSON 数据。前端开发者知道它是什么数据类型、名称等要求。然后他们可以用自己想要的方式用 html、css、js 制作首页,而无需与后端开发人员进行太多沟通。
-
我将使用 django restframework 模块。所以 django restframework 将是 REST API。但我很困惑我可以在一台服务器上同时使用 restframework 和 django web 框架。我的问题变得更清楚了吗???我希望如此!
-
@Jayground 您似乎对如何将后端与前端分离有些基本的混淆。首先,绝对只需要使用 django 模板来呈现您的前端。您可以使用 DRF 轻松创建 api 端点以获取数据并将其放入数据库中,并且仅使用 drf 执行此操作,并且就您的前端而言,它所需要的只是可以从中获取数据或发送的确切 url数据到。接下来,如果您真的想使用 django 部署前端,请创建一个单独的应用程序来托管前端,因为一个 url 永远不能指向两个视图。
标签: python django django-rest-framework frontend backend