【问题标题】:is it possible to use javascript to get data from django models db?是否可以使用 javascript 从 django 模型数据库中获取数据?
【发布时间】: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 }}

【问题讨论】:

    标签: javascript python django django-models


    【解决方案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-genhttps://simpleisbetterthancomplex.com/tutorial/2016/07/27/how-to-return-json-encoded-response.html 了解如何从视图中仅返回 JSON。

      【讨论】:

        猜你喜欢
        • 2010-11-13
        • 2023-04-09
        • 2017-06-14
        • 1970-01-01
        • 2017-06-14
        • 2020-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多