Я хотел бы поделиться с вами тем, как я сейчас работаю над Ajax с Django.Я хотел бы получить ваши советы / комментарии, чтобы увидеть, правильно ли я это делаю.
Я, конечно, упрощу код, просто чтобы показать процесс.
Вот мой код шаблона:
<!-- I store the full url to access object details so I can use url feature.
If I just store the pk, I would have to hardcode the url to fetch the object
detail later. Isn't it? -->
<ul>
{% for item in items %}
<li url="{% url project.item.views.details item.pk %}">{{ item.name }}</li>
{% endfor %}
<ul>
<div id="details"></div>
<script>
$("li").click(function(elmt){
// I just reuse the url attribute from the element clicked
var url = $(elmt.currentTarget).attr('url');
$.getJSON(url, function(data) {
if (data.success) {
$("#details").html(data.html);
} else {
$("#details").html("Something went wrong");
}
});
});
</script>
Вот код, который я использую на мой взгляд:
def details(request, item_id):
item = Items.objects.get(pk=item_id)
# Just render a view with the details, and return the view
html = render_to_string("items/_details.html", {'item': item})
return HttResponse(simplejson.dumps({'success': True, 'html': html}), mimetype="application/json")
Что вы думаете о моем способе сделать это?
Заранее спасибо за вашепомощь!