Size: a a a

Django [ru] #STAY HOME

2020 July 04

ВП

Всеволод Похваленко... in Django [ru] #STAY HOME
Если это как-то поможет
источник

S

Slava in Django [ru] #STAY HOME
Всем доброе утро)
Предположим есть объект модели
>>>q = Movie.objects.all().get(title='test2')
>>>q.poster
<ImageFieldFile: movies/484cfa8a5c944ada775d6ba216fd4739.jpg>

Очевидно, что вручную поменять название можно как-то так:
>>>q.title = '3'
>>>q.save()


Но как поменять ВРУЧНУЮ изображение (q.poster). Если предположим у меня есть url с сайта в интернете, либо же, например, я скачал изображение куда-то локально ?
Огромное спасибо!!!
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Slava
Всем доброе утро)
Предположим есть объект модели
>>>q = Movie.objects.all().get(title='test2')
>>>q.poster
<ImageFieldFile: movies/484cfa8a5c944ada775d6ba216fd4739.jpg>

Очевидно, что вручную поменять название можно как-то так:
>>>q.title = '3'
>>>q.save()


Но как поменять ВРУЧНУЮ изображение (q.poster). Если предположим у меня есть url с сайта в интернете, либо же, например, я скачал изображение куда-то локально ?
Огромное спасибо!!!
Скачать через httplib в bytesio и залить через obj.image.save(name, File(stream))
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Slava
Всем доброе утро)
Предположим есть объект модели
>>>q = Movie.objects.all().get(title='test2')
>>>q.poster
<ImageFieldFile: movies/484cfa8a5c944ada775d6ba216fd4739.jpg>

Очевидно, что вручную поменять название можно как-то так:
>>>q.title = '3'
>>>q.save()


Но как поменять ВРУЧНУЮ изображение (q.poster). Если предположим у меня есть url с сайта в интернете, либо же, например, я скачал изображение куда-то локально ?
Огромное спасибо!!!
.all().get()  - all не нужен
источник

S

Slava in Django [ru] #STAY HOME
Dan Tyan
.all().get()  - all не нужен
Спасибо)
источник

S

Slava in Django [ru] #STAY HOME
Muslim Beibytuly
Скачать через httplib в bytesio и залить через obj.image.save(name, File(stream))
Сейчас попробуем
источник

S

Slava in Django [ru] #STAY HOME
Muslim Beibytuly
Скачать через httplib в bytesio и залить через obj.image.save(name, File(stream))
Блин, трудно для понимания
Если не сложно, не могли бы дать ссылку на пример или просто пример?)
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Slava
Блин, трудно для понимания
Если не сложно, не могли бы дать ссылку на пример или просто пример?)
file = BytesIO(urllib.request.urlopen(url).read())
file
= InMemoryUploadedFile(file=file, content_type=maintype,
name
='food_type.%s' % maintype[6:], charset='utf-8',)
источник

S

Slava in Django [ru] #STAY HOME
Muslim Beibytuly
file = BytesIO(urllib.request.urlopen(url).read())
file
= InMemoryUploadedFile(file=file, content_type=maintype,
name
='food_type.%s' % maintype[6:], charset='utf-8',)
А maintype - это что?)
Traceback (most recent call last):
 File "<input>", line 1, in <module>
NameError: name 'maintype' is not defined
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Slava
А maintype - это что?)
Traceback (most recent call last):
 File "<input>", line 1, in <module>
NameError: name 'maintype' is not defined
В новой версии вроде не нужен, это старый сниппет
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Slava
А maintype - это что?)
Traceback (most recent call last):
 File "<input>", line 1, in <module>
NameError: name 'maintype' is not defined
источник

S

Shodmon in Django [ru] #STAY HOME
А что это за синтаксис типизированный?
def get_context_data(self, **kwargs: Any) -> Dict[str, Any]:

        context = super().get_context_data(**kwargs)

        context['category'] = self.category

        return context

Т.е а так можно было?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
да
источник

DT

Dan Tyan in Django [ru] #STAY HOME
сейчас по сути ни на что не влияют
но подспорье для ide
источник

S

Slava in Django [ru] #STAY HOME
Ой... я хз)
под файлом, тут что имеется ввиду?
(если obj.poster, то тоже не работает)
>>>if r.status_code == requests.codes.ok:
...     obj.file.save(
...         os.path.basename(url),
...         ContentFile(r.content)
...     )
...    
Traceback (most recent call last):
 File "<input>", line 2, in <module>
AttributeError: 'Movie' object has no attribute 'file'

Если так, то poster None
>>>if r.status_code == requests.codes.ok:
...     obj.poster.save(
...         os.path.basename(url),
...         ContentFile(r.content)
...     )
...    
>>>q.save()
>>>q.poster
<ImageFieldFile: None>

Спасибо)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Slava
Ой... я хз)
под файлом, тут что имеется ввиду?
(если obj.poster, то тоже не работает)
>>>if r.status_code == requests.codes.ok:
...     obj.file.save(
...         os.path.basename(url),
...         ContentFile(r.content)
...     )
...    
Traceback (most recent call last):
 File "<input>", line 2, in <module>
AttributeError: 'Movie' object has no attribute 'file'

Если так, то poster None
>>>if r.status_code == requests.codes.ok:
...     obj.poster.save(
...         os.path.basename(url),
...         ContentFile(r.content)
...     )
...    
>>>q.save()
>>>q.poster
<ImageFieldFile: None>

Спасибо)
чот я не понял
это вопрос? или все работает ?
источник

S

Slava in Django [ru] #STAY HOME
Dan Tyan
чот я не понял
это вопрос? или все работает ?
Щас секундочку)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
у меня в примере
file это ImageField
источник

DT

Dan Tyan in Django [ru] #STAY HOME
у тебя это poster
источник

N

Nonverbis in Django [ru] #STAY HOME
Django 3.0.8

Выбираю приложение для бесконечного скролла.
Смотрю здесь: https://djangopackages.org/grids/g/pagination/


Вроде как, крутая штука DJANGO-PURE-PAGINATION, но она джангу 3, похоже, не поддерживает.
Присматриваюсь к DJANGO-INFINITE-SCROLL-PAGINATION. Что-то сомнения.

А больше там ничего и нет особо.

Вы пользуетесь этой прилохужой или лучше кастомную написать. Тьюториалы в сети есть, вроде.
источник