簡體   English   中英

是否可以使用javascript從Django模型數據庫中獲取數據?

[英]is it possible to use javascript to get data from django models db?

我試圖讓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 }}

您認為:

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。 查看http://djangosnippets.org/snippets/622/http://djangosnippets.org/snippets/2102/ ,了解如何僅從視圖中僅返回JSON。

您必須將公司的模型數據序列化為json,以便javascript能夠讀取它。

因此,您將需要有兩個模型變量,公司(您現在擁有一個)和公司_json,它們將保存序列化的數據。

from django.core import serializers
companies_json = serializers.serialize("json", Company.objects.all())

我還沒有測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM