Es gibt für dich in jeder Django Version solche "Probleme" -- wenn du nicht tust was man dir sagt werden die auch nicht mal eben verschwinden.erdmulch hat geschrieben:gibts unter django 1.2.3 auch so Probleme? sonst steig ich um!
dynamische html Seite mit Ajax
@erdmulch: Die Probleme liegen nicht in der Django-Version, sondern in der Benutzer-Version. Schau mal ob es eine neue, bessere erdmulch-Version gibt und installiere die.
das Problem ist einfach, das ich gerade nicht weis wo ich ansetzen soll, da ich keinerlei Erfolgserlebnisse habe.
Ich weis acu gar nicht was ich falsch mache. ich ändere es so wie es beschrieben wird, jedoch ohne erfolg. ich glaub es muss noch was geändert werden aber ich hab kein plan was...
Im Prinzip will ich nur wenn man einen Button drückt, dass dann die Seite neu geladen wird.
Ich habe mir auch schon die Django doku angeschaut, die auch sehr gut ist. aber ich vermisse ein praktisches beispiel bei dem eine html seite aktualisiert ohne, dass ein request durchgeführt wird
für ein gutes Buch, wäre ich auch sehr dankbar
Ich weis acu gar nicht was ich falsch mache. ich ändere es so wie es beschrieben wird, jedoch ohne erfolg. ich glaub es muss noch was geändert werden aber ich hab kein plan was...
Im Prinzip will ich nur wenn man einen Button drückt, dass dann die Seite neu geladen wird.
Ich habe mir auch schon die Django doku angeschaut, die auch sehr gut ist. aber ich vermisse ein praktisches beispiel bei dem eine html seite aktualisiert ohne, dass ein request durchgeführt wird
für ein gutes Buch, wäre ich auch sehr dankbar
Ohne request kann keine Seite aktualisiert werden. Weil request bedeutet:
Browser schickt Anfrage an Server und Server antwortet.
Welcher der folgenden Vorschläge hast Du also ohne Erfolg umgesetzt?
oder
Browser schickt Anfrage an Server und Server antwortet.
Welcher der folgenden Vorschläge hast Du also ohne Erfolg umgesetzt?
Code: Alles auswählen
function loadContent() {
xmlHttpObject.open('post', "{% url /home/peter/tmp/djangoprojs/Wetterstation/Wetterstation/articles.views.index %}", true);
xmlHttpObject.onreadystatechange = handleContent();
xmlHttpObject.send("csrfmiddlewaretoken={{csrf_token}}");
return false;
}
Code: Alles auswählen
function loadContent() {
xmlHttpObject.open('get', "{% url /home/peter/tmp/djangoprojs/Wetterstation/Wetterstation/articles.views.index %}", true);
xmlHttpObject.onreadystatechange = handleContent();
xmlHttpObject.send();
return false;
}
sorry, dass ich mich erst jetzt melde, aber ich musste zu meinen Enkeln.
Ich habe es immer nach deinem 2ten Beispiel gemacht:
sobald ich den Server mit folgendem Befehl starte und die I-Net Seite aufrufe kommt folgende Meldung
meine html Seite sieht wie folgt aus:
Im Prinzip ist es eine Seite bei dem die letzten 5 Datenbankeinträge angezeigt werden
darunter ist ein Button bei dem ich die Datensätze aktualisieren will, sobald ich diesen drücke. Bisher hab ich es wie gesagt mit dieser Funktion probiert, was aber nicht funktioniert hat
auch der 2te Code hat nicht funktioniert mit der selben Fehlermeldung beim starten des Servers und aufrufen der Seite. Jetzt bin ich mir nicht sicher ob ich noch etwas installieren muss. das würde auch erklären warum es bei mir nicht funktioniert obwohl ich keinen Fehler feststellen kann.
Ich habe es immer nach deinem 2ten Beispiel gemacht:
Code: Alles auswählen
function loadContent() {
xmlHttpObject.open('get', "{% url /home/peter/tmp/djangoprojs/Wetterstation/Wetterstation/articles.views.index %}", true);
xmlHttpObject.onreadystatechange = handleContent();
xmlHttpObject.send();
return false;
}
Code: Alles auswählen
peter@peter-desktop:~/tmp/djangoprojs/Wetterstation$ python manage.py runserver 0.0.0.0:9090
Validating models...
0 errors found
Django version 1.4.2, using settings 'Wetterstation.settings'
Development server is running at http://0.0.0.0:9090/
Quit the server with CONTROL-C.
/usr/local/lib/python2.6/dist-packages/Django-1.4.2-py2.6.egg/django/template/defaulttags.py:1235: DeprecationWarning: The syntax for the url template tag is changing. Load the `url` tag from the `future` tag library to start using the new behavior.
category=DeprecationWarning)
Code: Alles auswählen
<html>
<body>
<p id="myContent">
<ul>
{% for article in latest_articles_list %}
<li>
<p href="/articles/{{ article.id }}/">
{{ article.title }}
</p>
</li>
{%endfor%}
</ul>
</p>
<input type="button" name="Text 1" value="Text 1 anzeigen" onclick="loadContent();">
</body>
</html>
{% endblock %}
darunter ist ein Button bei dem ich die Datensätze aktualisieren will, sobald ich diesen drücke. Bisher hab ich es wie gesagt mit dieser Funktion probiert, was aber nicht funktioniert hat
Code: Alles auswählen
function loadContent() {
xmlHttpObject.open('get', "{% url /home/peter/tmp/djangoprojs/Wetterstation/Wetterstation/articles.views.index %}", true);
xmlHttpObject.onreadystatechange = handleContent();
xmlHttpObject.send();
return false;
}
@erdmulch: Das ist nur eine Warnung. Es steht eigentlich genug Information da was man machen muss um die weg zu bekommen, aber die ist letztendlich (noch) kein Problem.
@erdmulch: Der django-Server tut fehlerfrei, da ja die Startseite ausgeliefert wird.
Da Du Deine logs unvollständig postest, kann es natürlich sein, dass beim Ajax-Request
doch was schief läuft. Die Fehlermeldung die django dann liefert, müsste aber genauso
wie der csrf-Verification-Fehler irgendwo auftauchen.
Lies nochmal die Vorschläge irgendwo weiter oben, zum Debuggen bei Web-Programmierung:
In den Javascript-Entwicklertools des Browsers nach Fehlermeldungen sowie nach gesendeten
und empfangenen Daten schauen. Javascript-Fehler werden vom Browser meistens völlig
geräuschlos verschluckt.
Da Du Deine logs unvollständig postest, kann es natürlich sein, dass beim Ajax-Request
doch was schief läuft. Die Fehlermeldung die django dann liefert, müsste aber genauso
wie der csrf-Verification-Fehler irgendwo auftauchen.
Lies nochmal die Vorschläge irgendwo weiter oben, zum Debuggen bei Web-Programmierung:
In den Javascript-Entwicklertools des Browsers nach Fehlermeldungen sowie nach gesendeten
und empfangenen Daten schauen. Javascript-Fehler werden vom Browser meistens völlig
geräuschlos verschluckt.
ok, ich habe gerade die Seite mit dem google chrome gedebuggt
dabei hält er an folgender Zeile an nachdem ich auf den Button klicke um die Daten zu aktualisieren:
xmlHttpObject.send();
In dem Object stehen folgende Attribute mit diesen Werten:
Leider kann ich damit nichts anfangen. Aber was ich gesehen habe sieht nicht allzu schlecht aus
dann wünsche ich noch ein schönes Weihnachtsfest
lg
dabei hält er an folgender Zeile an nachdem ich auf den Button klicke um die Daten zu aktualisieren:
xmlHttpObject.send();
In dem Object stehen folgende Attribute mit diesen Werten:
Code: Alles auswählen
XMLHttpRequest
onabort: null
onerror: null
onload: null
onloadend: null
onloadstart: null
onprogress: null
onreadystatechange: null
readyState: 1
response: ""
responseText: ""
responseType: ""
responseXML: null
status: [Exception: DOMException]
statusText: [Exception: DOMException]
upload: XMLHttpRequestUpload
withCredentials: false
__proto__: XMLHttpRequest
dann wünsche ich noch ein schönes Weihnachtsfest
lg
wenn ich raten müßte (oh, hier im Forum sollte jeder beim Anmelden eine Kristallkugel
zum Downloaden geschenkt bekommen), würde ich sagen, eine Zeile drüber müßte es
heißen.
zum Downloaden geschenkt bekommen), würde ich sagen, eine Zeile drüber müßte es
Code: Alles auswählen
xmlHttpObject.onreadystatechange = handleContent;