[python] Django - AJAX & vypisování textového streamu
Jirka Vejrazka
jirka.vejrazka na gmail.com
Středa Květen 11 10:55:30 CEST 2011
Prvni napad, strela od boku. Nesouvisi to s CSRF protection?
Jirka
On 10/05/2011, Martin Stiborský <martin.stiborsky at gmail.com> wrote:
> Ahoj,
> nevěděl jsem úplně jistě jak tohle vlákno nazvat, tak snad to bude tak
> nějak sedět.
> Chci v Djangu takovou věc. View provádí nějakou akci a v jejím průběhu
> vypisuje textový log o tom, jak mu to jde. Tyhle informace chci
> postupně zobrazovat v administraci.
> Ono to je celé jenom takový cukr, ale líbilo se mi to jako nápad,
> akorát jsem se se na tom docela zaseknul.
> Vymyslel jsem něco takového (a nakonec i vygooglil, že samozřejmě
> nejsem první :) http://goo.gl/Pdpj0 )...
>
> Takhle vypadá views.py:
>
> from django.shortcuts import render_to_response
> from django.http import HttpResponse
> from django.views.decorators.http import condition
> import time
>
> def index(request):
> return render_to_response("foo/index.html", {})
>
> @condition(etag_func=None)
> def getData(request):
> resp = HttpResponse(foo())
> return resp
>
> def foo():
> for x in range(1, 11):
> yield "%s <br/>" % x
> time.sleep(1)
>
> A v šabloně mám jednoduchý java script, využívá JQuery…
>
> function getFooData() {
> $.ajax({
> type: 'POST',
> url: 'getData/',
> dataType: "json",
> success: function(data) {
> var $container = $("#messages");
>
> $container.append("Data: " + data);
> }
> });
>
> setTimeout("getFooData()", 2000);
> }
>
> Podobný postup jsem našel různě po internetu, blbé je, že to nefunguje
> tak, jak si představuju. Když to spustím, tak django na konzoli píše u
> /getData/ html kód 403/Forbidden...
> Myslel jsem, že je něco shnilého v django-nonrel, se kterým si hraju
> na google app engine, tak jsem to otestoval na django 1.3 a
> nefungovalo to úplně stejně :)
> Pokud máte někdo nápad, kde je problém, nebo proč je to principiálně
> blbě, dejte vědět.
>
> Děkuji.
>
> --
> S pozdravem
> Martin Stiborský
>
> Jabber: stibi at njs.netlab.cz
> _______________________________________________
> Python mailing list
> Python at py.cz
> http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python