Wie downgrade Django von dev zu 1.1
Ich verwende die Entwickler-version von Django und es scheint, dass der filebrowser app ist nicht kompatibel mit dem Stamm aufgrund von änderungen vorgenommen, um CSRF-Angriffe. Wie kann ich ein downgrade auf die offizielle Version (1.1)?
Arbeite ich auf einem shared host und die Art und Weise, dass ich bin curently läuft Django ist wie folgt:
~/local/lib/python2.6/site-packages/
enthält /django/
sowie mehrere andere Ordner (eins für jede app).
~/local/lib/python2.6/site-packages/
ist auf den python-Pfad.
Innerhalb /site-packages/
es ist auch ein symbolischer Link auf /projectname/
enthält die Projektdateien (manage.py, settings.py etc.).
Ich bin mit FastCGI und daher in /public_html/
ich habe eine dispatch.fcgi
aufgerufen wird django.core.servers.fastcgi.runfastcgi
. Ein .htaccess
- Datei wird verwendet, um die Umleitung aller Anfragen zu versenden.fcgi, so dass Django mit Ihnen umgehen kann.
Habe ich versucht zu entfernen (Auszug aus dem python-Pfad) /django/
und dann den Download der release-version von " Django und setzen es, wo die früheren /django/
Ordner war. Diese produziert den folgenden Fehler:
Kein Modul namens CSRF.
Ich heruntergeladen middleware/csrf.py
aus /trunk/
welche gelöscht, bis der erste Fehler, aber dann produziert andere Fehler.
Wie gehe ich bei der Downgrade auf 1.1? Von vorne anfangen ist keine Frage, aber ich würde natürlich lieber vermeiden, wenn möglich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick in Ihre
/site-packages/
Verzeichnis fürDjango-1.other_stuff.egg-info
Dateien und löschen Sie Sie finden, versuchen Sie es dann erneut (mit dem code für 1.1 noch in dersite-packages/django/
- Verzeichnis. Wenn das nicht funktioniert, einfach erneut ausführen, Django installer aus der aktuellen release-Tarballs (python setup.py installieren) und Sie sollte gut sein.Alternativ, wenn Sie pip installiert kann man wohl nur tun
pip install -U Django==1.1.1
im terminal.Hinweis die Hauptstadt
D
imDjango
in diesen ei-info-Dateien und die pip-Befehl.pip install -u django=1.1.3
ohne die Hauptstadt D und es funktionierte gut, also, während kann es erforderlich sein, anderswo war es nicht inpip
's Fall. --- Zweite: ich würdepip
sah es als eine Abhängigkeit zu etwas anderem war ich zu installieren. Jedoch eine Anwendung auf diesem Rechner noch nicht migriert wurden, die von 1.1, so dass es brach, wie erwartet. Eine schnellepip install -U django=1.1.3
und es ist wieder in Ordnung. ich bin jetzt beeindruckt mitpip
.Ich habe es geschafft, erfolgreich downgraden, und es ist eigentlich ein sehr einfacher Prozess. Hoffentlich wird den Menschen helfen, herauszufinden, wer was übersehen habe ich.
Den
startproject
Befehl django-admin.py in 1.1.1, erstellt eine etwas andere settings.py Datei als die aktuelle Entwicklungsversion.startproject
mit der aktuellen dev Version hat eine zusätzliche middleware-Klasse - csrf. Die startproject Befehl in 1.1.1 erzeugt das gleiche settings.py aber mit der Dritten Klasse entfernt. Auskommentieren oder entfernen Sie diese Zeile bekommt Django richtig funktioniert.können Sie einfach installieren django von der version, die Sie wollen, in der Sie den user-space, sagen wir in /home/me/lib/
dann, wenn Sie mit mod_wsgi in Ihre mysite.wsgi haben eine Linie:
dadurch wird sichergestellt, dass django geladen wird, aus Ihrer installation nicht der server-wide.
wirst du auch anpassen müssen, um Ihre shell-environment-variable path so, dass die richtige django-admin.py gestartet wird, oder führen Sie einfach direkt