ile html'ye veri oluşturmak için en iyi yöntem Bir öğenin bazı ayrıntılarını, önceden tanımlanmış bir bölüme, bu öğenin üzerine tıklatmaya çalışıyorum. Bunu yapmanın 2 yolu var.ajax
Not: Ben ön ucu
I. My First yolu içinde piton/arka uç olarak Django ve jquery kullanıyorum
Views.py
def get_item_data(id):
obj = MyClass.objects.get(pk=id)
html = """
<div>All Details Here, 1. {0}, 2. {1}</div>
""".format(str(obj.id), str(obj.name))
return HttpResponse(html)
myapp.js
$('#myid').on('click', function(){
$.ajax({
type: "GET",
url: GET_DATA,
data: dataString,
success: function(res) {
$('#addl_container').html(res);
}
});
});
II. Diğer bir yol
Views.py
def get_item_data(id):
obj = MyClass.objects.filter(pk=id).values()
return HttpResponse(simplejson.dumps(obj))
myapp.js
$('#myid').on('click', function(){
$.ajax({
type: "GET",
url: GET_DATA,
data: dataString,
success: function(res) {
$('#addl_container').html(
"<div>All Details Here, 1. "+ res.id +", 2. "+ res.name + "</div>"
);
}
});
});
Hem süreç işler arasında. Ben önceden html oluşturma ve bunu yüklerken sonra html oluşturmak için piton kodu kullanarak ve gibi iyi bir seçim olmayabilir yüklenirken düşündük. Aynı url'e farklı bir uygulamadan erişmeyi deneyecek olsam da işe yaramıyor. Json yanıtından veri ayıklamak suretiyle jquery'den html oluşturmak iyi bir çözüm gibi görünüyor, ancak bazen veriler çok büyük olduğunda kullanıcının ucunda daha fazla ram gerekiyor, bu da sistemi yavaşlatıyor.
Hangisinin kullanılacağı konusunda kafam karıştı, lütfen bu ikisinden daha iyi bir çözüm öner. Ayrıca varsa, başka bir çözüm daha iyi öneriyoruz?
Şimdiden teşekkürler.
Benim düşünceme göre, ne kadar HTML oluşturduğunuza ve ne sıklıkta yaptığınıza bağlı. Örneğin, eğer sadece küçük bir '' render ederseniz, o zaman yaptığınız gibi iyidir. Ancak, büyük bir HTML oluşturmaya ihtiyaç duyduysanız, [Handlebars] (http://handlebarsjs.com/) –
Javascript = istemci işleme gibi bir şablon motoru kullanmak daha iyi olurdu. Php = Sunucu geçişi. İyi bir sunucunuz varsa, ikinci kullanıcı için daha iyi olacaktır. Birçok kullanıcının hala eski PC'leri var, ya da iş için, özellikle bir geliştiricinin PC'sine kıyasla düşük güçle çalışan PC'ler olarak düşünülebilir. Müşteri üzerinde çok fazla çalışmak performansı/UX'i öldürebilir. –
Daha büyük bir HTML'niz varsa, başka bir deyişle, get_item_data'daki şablonu tanımlayabilir ve bu şablonu döndürebilirsiniz –