Startschwierigkeiten mit Django

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Ich kann übrigens die Kombination lighttpd mit fastcgi empfehlen, läuft auf meinem Vserver einfach grandios.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

audax hat geschrieben:Ich kann übrigens die Kombination lighttpd mit fastcgi empfehlen, läuft auf meinem Vserver einfach grandios.
Mag sein das es funktioniert, vielleicht sogar besser als meins, aber ich habe ein Ziel: möglichst nicht zu viele unterschiedliche Sachen anfangen und lernen müssen sondern auf ein paar wenige konzentrieren. Und da ich bei meinem Provider, an dem ich weiterhin festhalte, nunmal an Apache gebunden bin bleibe ich auch auf anderen Rechnern dabei.

Deshalb möchte ich nach Möglichkeit auch nur noch Python programmieren, sowohl Desktop Applikationen als auch für's Web. Es reicht schon das ganze Drumherum wie Qt, HTTP, CSS, Django usw

So, nachdem ich es tatsächlich geschafft habe Django zur Mitarbeit zu bewegen werd ich mal loslegen und versuchen damit etwas zu zaubern
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

burli hat geschrieben:Wie richtet man Python auf dem Apache am besten ein? mod_python? CGI? FastCGI?
mod_fcgi oder mod_wsgi.

@audax: ich fand Lighty nicht so besonders toll. Seit der Rückmigration auf Apache mit seiner irgendwie oftmals bescheidenen FastCGI-Unterstützung läuft das jetzt meiner Meinung nach runder. Außerdem ist die Konfiguration doch etwas einfacher.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

@Leonidas: ja, und zusätzlich noch das Paket python-flup

Aber eine Frage habe ich noch und zwar zu dem Media Pfad. Den hab ich nämlich noch nicht eingerichtet.

Hier wird u.a. ein Alias für ein Media Verzeichnis angelegt
<VirtualHost 12.34.56.78>
ServerName example.com
DocumentRoot /home/user/public_html
Alias /media /home/user/python/django/contrib/admin/media
RewriteEngine On
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ /mysite.fcgi/$1 [QSA,L]
</VirtualHost>
Das habe ich bei mir noch nicht gemacht, also wird es in absehbarer Zeit da wohl mal zu Problemen kommen. Was befindet sich in diesem Media Verzeichnis? Das hab ich noch nicht so richtig rausgefunden
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

burli hat geschrieben:Was befindet sich in diesem Media Verzeichnis? Das hab ich noch nicht so richtig rausgefunden
Alles was der Webserver statisch ausliefern soll. Django kümmert sich ja nur (zu recht) um dynamischen Content, den Rest erledigt der Webserver besser.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Leonidas hat geschrieben: Alles was der Webserver statisch ausliefern soll.
Dh alle Bilder, PDFs usw sollten in /media

Ok, mal weiterlesen
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Ich komme mal wieder nicht weiter. Ich habe ein einfaches Projekt (das aus dem Galileo Buch, ich hab im Moment nix besseres :( ) angelegt und habe es auf den Server kopiert. Mit dem Django-eigenen Webserver funktioniert es auch wie erwartet, aber wenn es über den Apache läuft bekomme ich immer nur die gleiche Startseite
It worked!
Congratulations on your first Django-powered page.
Kurz zur Konfiguration: ich habe die Webseite im Verzeichnis /home/burli/web abgelegt und den Webserver entsprechend umgebogen. Dort habe ich eine Datei Namens "unser_projekt.fcgi",

Code: Alles auswählen

#!/usr/bin/env python
import sys, os

sys.path.insert(0, os.path.expanduser("~/lib"))
os.environ['DJANGO_SETTINGS_MODULE'] = "unser_projekt.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
und eine .htaccess die so aussieht

Code: Alles auswählen

# Damit allgemein CGIs ausgeführt werden
Options +ExecCGI

# Dateien mit der Endung ".py" sind CGI-Skripte
AddHandler cgi-script .py

#AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /unser_projekt.fcgi/$1 [QSA,L]
AddHandler fcgid-script muss ich hier auskommentieren weil es schon in der Conf vom Apache steht.

Code: Alles auswählen

NameVirtualHost *
<VirtualHost *>
	ServerAdmin webmaster@embedit.de

	DocumentRoot /home/burli/web
	Alias /media /home/burli/web/media
	<Directory />
		Options FollowSymLinks
		AllowOverride None
		Options +ExecCGI
	</Directory>
	<Directory /home/burli/web>
		Options Indexes FollowSymLinks MultiViews +ExecCGI
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>


	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined
	ServerSignature Off

</VirtualHost>
Hat jemand eine Idee wo es haken könnte?
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

burli hat geschrieben:Hat jemand eine Idee wo es haken könnte?
Hm, Selbstgespräche können auch manchmal helfen. Ich weiß nicht genau wieso, aber irgendwo muss ich wohl einen Tippfehler gehabt haben, jedenfalls geht es jetzt auf einmal :shock:

Nachdem ich den Inhalt von /contrib/admin/media in mein eigenes Media Verzeichnis kopiert habe sieht jetzt auch der Admin Bereich hübsch aus
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

burli hat geschrieben:Nachdem ich den Inhalt von /contrib/admin/media in mein eigenes Media Verzeichnis kopiert habe sieht jetzt auch der Admin Bereich hübsch aus
Ich tu' das immer symlinken, dann funktioniert das auch nach Django-Updates.

Und ja, die magische Wirkung der Selbstgespräche bei denen man sich über irgend etwas beschwert kann ich durchaus nachvollziehen, passiert mir auch oft dass ich genau dann die Lösung finde. Gut, dass man diese Beschwerden immer irgendwo loswerden kann :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Leonidas hat geschrieben:Ich tu' das immer symlinken, dann funktioniert das auch nach Django-Updates.
Irgendwo haste Recht. Hab halt zu lang Windows verwendet :roll:
Antworten