Django: ręcznie utwórz pole obrazu w modelu z istniejącego pliku na serwerze
To mnie zabija!
Używam Django-FileBrowser i chcesz utworzyć aplikację galerii, która korzysta z możliwości rozruchowych do zarządzania obrazami.
Mam model galerii, który pozwala użytkownikowi wybrać lub utworzyć katalog na serwerze i przesłać pliki do tego folderu, aby pojawiły się w galerii. Chcę automatycznie przeglądać katalog, do którego użytkownik przesłał obrazy, i wybrać go, a następnie automatycznie utworzyć instancję obrazów dla każdego obrazu w folderze.
class Gallery(model.Models):
gallerydirectory = FileBrowserField(...)
title = ...
description ...class Image(model.Models):
image_field = models.ImageField()
Problem polega na tym, że FileBrowser przedstawia obrazy w inny sposób niż Django, ale chcę użyć Django ImageFields, ponieważ mogę użyć innych aplikacji (Miniatury Sorl) na końcu szablonu.
Mam wszystkie dane wymagane do pliku, czyli nazwę pliku, ścieżką itp., Po prostu nie mogę zrobić Django utworzyć instancję Imagefield, w rzeczywistości bez ładowania obrazu ponownie. Chcę go tylko wypełnić.
widziałem
tutaj
https://coderoad.ru/811167/
inny wątek, który sugeruje, co następuje:
for image in filebrowser_image_objects_list:
f = File(open('path-to-file-on-server','r'))
i = Image()
i.image_field('filename.png',f.read())
ale to daje mi:
SuspiciousOperation error
Attempted access to '/filename.png' denied
co oznacza, że ścieżka nie jest poprawnie odczytywana. Wydrukowałem atrybuty obiektu File i otwiera on poprawny obraz, po prostu nie jest przekazywany do ImageField
Pomoc byłaby bardzo mile widziana!
UPDATE
Odmówiłem próby uzyskania tej pracy, ponieważ jest zbyt brudny. Problem, z którym miałem na sobie, że zainstalowano, że zainstalowałem upload_field Imagefield w "/" i pozostał niezauważony, co oznaczało, że plik został nagrany w "/something.png".
Zmieniłem to tak, że teraz obraz używa również FileBrowserField zamiast ImageField.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Zapisywanie obrazu programowo w Django ImageField
https://coderoad.ru/1308386/
Anonimowy użytkownik
Potwierdzenie od:
Dla następnego modelu:
Więc nie działa:
Jest tam napisane:
Sprawdzone w Django 1.7, 1.11.
Anonimowy użytkownik
Potwierdzenie od: