Hallo wie setze ich bei einem ImageField das File.width Attribut ein?
Sowas wie bild1 = models.ImageField(upload_to='uploads/', File.width=300)
geht wohl eher nicht?
Muss ich die Save Methode irgendwie überschreiben?
Werde aus der Doku nicht schlau.
ImageField in Verbindung mit File.width
width gibt's nicht Lesen und überlegen was du eigentlich willst. http://docs.djangoproject.com/en/dev/re ... imagefield
Die Doku ist an dieser Stelle auch relativ schlecht. Insbesondere die Eigenart, bei den Parameternamen nochmal die Klasse voranzustellen, finde ich sehr verwirrend. Die alte Form mit einer netten Tabelle wahr übersichtlicher. Gemeint ist (ohne Gewähr) wohl dies:
Stefan
Code: Alles auswählen
class Pics(models.Model):
pic = models.ImageField(upload_to='...', height_field='height', width_field='width')
width = models.IntegerField()
height = models.IntegerField()
Was bewirken height_field='height', width_field='width' ???
Nein gemeint war eigentlich diese Stelle:
In addition to the special attributes that are available for FileField, an ImageField also has File.height and File.width attributes. See Managing files.
Requires the Python Imaging Library.
Wenn ich das richtig verstehe, muss es damit doch möglich sein die Bilder mit dem Upload auf eine gewählte Größe zu skalieren???
Daher brauch man wohl die ImageLibrary.
Die Doku ist an dieser Stelle allerdings wirklich nicht gut, da man immer nur an eine andere Stelle weitergeleitet wird irgendwie.
Na auf jedenfall möchte ich die Bilder mit dem Upload auf eine bestimmt Größe bringen.
Man kann bei der Verwendung eines CMS nicht von jedem verlangen, dass er das Bild selbst mit einer Bildbearbeitungssoftware in der Größe anpassen kann und dann erst hochläd.
Momentan regele ich das Ganze noch sehr sehr unschön mit dem Attributen width und height vom html-Element img.
Also denke jetzt sollte klar sein was ich will
Nein gemeint war eigentlich diese Stelle:
In addition to the special attributes that are available for FileField, an ImageField also has File.height and File.width attributes. See Managing files.
Requires the Python Imaging Library.
Wenn ich das richtig verstehe, muss es damit doch möglich sein die Bilder mit dem Upload auf eine gewählte Größe zu skalieren???
Daher brauch man wohl die ImageLibrary.
Die Doku ist an dieser Stelle allerdings wirklich nicht gut, da man immer nur an eine andere Stelle weitergeleitet wird irgendwie.
Na auf jedenfall möchte ich die Bilder mit dem Upload auf eine bestimmt Größe bringen.
Man kann bei der Verwendung eines CMS nicht von jedem verlangen, dass er das Bild selbst mit einer Bildbearbeitungssoftware in der Größe anpassen kann und dann erst hochläd.
Momentan regele ich das Ganze noch sehr sehr unschön mit dem Attributen width und height vom html-Element img.
Also denke jetzt sollte klar sein was ich will
Nein, damit kannst du keine Bilder skalieren (denke ich), sondern die Höhe und Breite eines Bildes in deinem Modell abspeichern. Praktisch, wenn du das Bild wieder anzeigen willst, weil dann das <img>-Element diese Angaben enthalten sollte, damit der Browser schneller das Layout erstellen kann.
Stefan
Stefan
Wäre dann praktisch auch nichts anderes als das was ich gemacht habe.
Nur, dass ich das im Template gemacht habe und es so im Model gemacht wird?
Bin mir da aber nicht so sicher. Wieso geht es dann um File-Managing?
Dann muss doch in irgendeiner Art auch was mit der Datei gemacht werden!?!?
Nur, dass ich das im Template gemacht habe und es so im Model gemacht wird?
Bin mir da aber nicht so sicher. Wieso geht es dann um File-Managing?
Dann muss doch in irgendeiner Art auch was mit der Datei gemacht werden!?!?
Jein, so kannst du zb Breite und Höhe angeben ohne das File zu laden, da Django das eben in height_field/width_field schreibt....ferix hat geschrieben:Wäre dann praktisch auch nichts anderes als das was ich gemacht habe.
Nur, dass ich das im Template gemacht habe und es so im Model gemacht wird?
Wann und wo? Sie wird nur hochgeladen und gespeichert, bearbeitet wird sie nicht.Bin mir da aber nicht so sicher. Wieso geht es dann um File-Managing?
Dann muss doch in irgendeiner Art auch was mit der Datei gemacht werden!?!?
http://docs.djangoproject.com/en/dev/re ... imagefield
Wie gesagt es geht um folgende Textstelle:
In addition to the special attributes that are available for FileField, an ImageField also has File.height and File.width attributes. See Managing files.
Requires the Python Imaging Library.
Das hört sich für mich einfach so an, als könnte man damit die Größe des Bildes verändern. Naja ich muss einfach nochmal schauen.
Wie gesagt es geht um folgende Textstelle:
In addition to the special attributes that are available for FileField, an ImageField also has File.height and File.width attributes. See Managing files.
Requires the Python Imaging Library.
Das hört sich für mich einfach so an, als könnte man damit die Größe des Bildes verändern. Naja ich muss einfach nochmal schauen.
Das kann aber auch einfach nur bedeuten, dass PIL benötigt wird um Höhe und Breite aus der Bilddatei *auszulesen*.