Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 8, 2010 22:38:59

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Живой блог

Доброго времени суток.

С javascript не знаком поэтому не могу понять откуда начинать копать

есть шаблон

<html>
<head>
<script type="text/javascript" language="javascript"
src="/media/jquery-1.4.3.min.js"></script>

<script type="text/javascript" language="javascript">
$(document).ready(function(){
setInterval("update()",60000);
})
function update(){
update_holder=$("#update_holder");
most_recent=update_holder.find("div:first");
$.getJSON("/updates-after/"+most_recent.attr('id')+"/",
function(data){
cycle_class=most_recent.hasClass("odd")
? "even" : "odd";
JQuery.each(data,function(){
update_holder.prepend('<div id="'+this.pk
+ '" class="update '+ cycle_class
+ '"><div class="timestamp">'
+ this.fields.timestamp
+ '</div><div class="text">'
+ this.fields.text
+ '</div><div class="clear"></div></div>'
);
cycle_class=(cycle_class=="odd")
? "even" : "odd"

});
}
);
}

</script>
<title>Live Update</title>
<style type="text/css">
body {
margin: 30px;
font-family: sans-serif;
background: #fff;
}
h1 { background: #ccf; padding: 20px;}
div.update { width: 100%; padding: 5px; }
div.even { background: #ddd;}
div.timestamp { float: left; font-weight: bold;}
div.text {float:left; padding-left: 10px;}
div.clear { clear: both; height: 1px;}
</style>
</head>
<body>
<h1>Welcome to the Live Update!</h1>
<p>This site will automatically refresh itself every minute with new
content - please <b>do not</b> reload the page!</p>

{% if object_list %}
<div id="update-holder">
{% for object in object_list %}
<div class="update {% cycle even,odd %}" id="{{ object.id }}">
<div class="timestamp">
{{ object.timestamp|date:"Y-m-d H:i:s"}}
</div>
<div class="text">
{{ object.text|linebreaksbr }}
</div>
<div class="clear"></div>
</div>
{% endfor %}
</div>
{% else %}
<p>No updates yet - please check back later!</p>
{% endif %}
</body>
</html>
есть вьюшка
from django.http import HttpResponse
from django.core import serializers

from liveproject.liveupdate.models import Update

def updates_after(request,id):
response=HttpResponse()
response['Content-Type']="text/javascript"
response.write(serializers.serialize("json",
Update.objects.filter(pk__gt=id)))
return response
есть urls.py на стороне приложения
from django.conf.urls.defaults import *
from liveproject.liveupdate.models import Update
from django.conf import settings
urlpatterns=patterns('django.views.generic',
url(r'^$','list_detail.object_list',{
'queryset':Update.objects.all()
}),
)
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)', 'django.views.static.serve',
{'document_root':settings.MEDIA_ROOT,'show_indexes': True}),
url(r'^updates-after/(?P<id>\d+)/$',
'liveproject.liveupdate.views.updates_after'),
)
смысл в том чтобы обновлять записи на главной странице, код по книжке.
Но почему-то такового не происходит
SetInterval походу вообще не срабатывает.
В чём может быть косяк?



Офлайн

#2 Ноя. 9, 2010 10:58:42

AlexKiriukha
От:
Зарегистрирован: 2008-02-03
Сообщения: 81
Репутация: +  0  -
Профиль   Отправить e-mail  

Живой блог

В firefox есть плагин firebug, очень хорошая штука. Он сразу может решить две проблемы: показать есть ли в коде ошибки js и загрузился ли jquery (вкладка Net). Если проблем нету, то можно начинать разбираться дальше.



Офлайн

#3 Ноя. 9, 2010 12:18:11

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Живой блог

AlexKiriukha
В firefox есть плагин firebug, очень хорошая штука. Он сразу может решить две проблемы: показать есть ли в коде ошибки js и загрузился ли jquery (вкладка Net). Если проблем нету, то можно начинать разбираться дальше.
Спасибо! Отличная штука, нашёл две синтаксические ошибки.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version