是否可以使用 javascript 从 django 模型数据库中获取数据?
Posted
技术标签:
【中文标题】是否可以使用 javascript 从 django 模型数据库中获取数据?【英文标题】:is it possible to use javascript to get data from django models db? 【发布时间】:2012-05-08 16:25:03 【问题描述】:我正在尝试让 django 模型对象显示在 html 页面上。当然,当我尝试使用 object 时,我得到了一个错误。
如何正确获取 django 数据模型并使用 javascript 操作属性?
网址:
('^all_companies$', 'companies.views.all_companies')
观点:
def all_companies(request):
companies = Company.objects.all().order_by('id')[:5];
return direct_to_template(request, 'all_companies.html', 'companies': companies );
html:
% block sidebar %
<div id="sidebar">
<!-- like google maps, short list of company info -->
<ul>
% for comp in companies %
<li> comp </li>
% endfor %
</ul>
</div>
% endblock %
js:
var tmp = companies
【问题讨论】:
【参考方案1】:您必须将您的公司模型数据序列化为 json,以便 javascript 能够读取它。
因此,您需要有两个模型变量,company(您现在拥有的那个)和 company_json,它将保存序列化的数据。
from django.core import serializers
companies_json = serializers.serialize("json", Company.objects.all())
我没有测试过这个。
【讨论】:
【参考方案2】:在你看来:
from django.core import serializers
json_serializer = serializers.get_serializer("json")()
companies = json_serializer.serialize(Company.objects.all().order_by('id')[:5], ensure_ascii=False)
在模板中:
var companies = ' companies|escapejs ';
这只是为了让你的数据模型进入 JS。为了操作它们,您应该创建一些将从 JS(通过 AJAX)调用的视图。他们可能应该返回 JSON。退房 https://dev.to/brian101co/how-to-return-a-json-response-in-django-gen 或 https://simpleisbetterthancomplex.com/tutorial/2016/07/27/how-to-return-json-encoded-response.html 了解如何从视图中仅返回 JSON。
【讨论】:
以上是关于是否可以使用 javascript 从 django 模型数据库中获取数据?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 emscripten 使用 Javascript 从 C++ 打印字符串?
是否可以从 JavaScript 访问 SQLite 数据库?
是否可以使用 javascript 从 django 模型数据库中获取数据?
是否可以直接从 Javascript 访问 MySQL 数据库