Django 部分模板响应

标签 django django-templates django-views

它被认为是正确的/将部分模板返回到 ajax POST 请求是否有任何陷阱?

例如:

if request.is_ajax:
    # response is just the form 
    return render(request, 'contact/fields.html', {'form':form})

最佳答案

最典型的方法是返回 JSON,然后根据 JSON 数据构建客户端所需的任何 HTML。然而,有人可能会说,这将表示与行为混合在一起,最好将 HTML 清晰地分开。

另一方面,返回 HTML block 就像您所能得到的“RESTful”的南极一样。在纯 REST 理念中, View 应该在标准且可重用的容器(例如 JSON 或 XML)中返回数据。稍后如果您需要将表单拉入 iOS/Android/WP7/等。应用程序环境而不是网页,JSON/XML 也可以为您服务,而 HTML 几乎毫无用处。

我可以很容易地看到这两种论点,而且我认为其中一个不一定比另一个更正确。最终,我认为你只需要做最适合你的应用程序和你“感觉正确”的事情。考虑什么对于您的特定情况更易于维护和扩展。

关于Django 部分模板响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978879/

相关文章:

python - Django TemplateSyntaxError - 'staticfiles' 不是注册的标签库

python - 检查文本是否以空格开头

python - Django 中的图像字段

django - 如何在 django-admin 中添加自定义按钮

django - “WSGIRequest”对象在 django 4 中没有属性 'is_ajax'

Django:从 url 名称获取通用 View 类

django.request : Forbidden (Referer checking failed - no Referer. )

django - Django模板中的“按位与”

django - 在 django admin 中设置 favicon

python - Django:为具有多个评分标准的评论网站生成评分平均值