изображение odoo base64 не работает на веб-сайте для пользовательского модуля

#base64 #openerp #odoo-website

#base64 #odoo #odoo-website

Вопрос:

Я создаю пользовательский модуль. Где в серверной части пользователь сможет загрузить фоновое изображение раздела. Для этого у меня есть двоичное поле в серверной части.

Но по какой-то причине изображение не отображается. Вот строка кода qweb, который я использую —

 <div id="comments1" class="parallax-section"  t-att-style="'background-image: url(data:image/png;base64,' res_company.website_logo_img ');'">
  

Это загружает данные в двоичном формате несовместимым способом.

Ниже приведен снимок экрана, когда я впервые загружаю веб-страницу, а изображение не отображается — Google Developer Tools проверяет вид элемента

Ниже приведен снимок экрана, когда я просто беру строку в редактируемом режиме и нажимаю enter. Изображение отображается красиво и четко: Google Developer Tools проверяет вид элемента

Кто-нибудь может сказать мне, в чем проблема?

Комментарии:

1. Похоже, что в конце может быть пробел. Инструменты разработчика могут исправить это за вас. Попробуйте использовать t-att-style="'background-image: url(data:image/png;base64,{});'.format (res_company.website_logo_img)"

2. Да, в двоичном коде были пробелы sevaral. Я создал метод onchange, в котором двоичные коды сохранялись в поле char, и когда я отобразил его с помощью base64, он отлично сработал. Я тоже попробую ваше, если оно сработает, это будет более эффективно. Спасибо.

3. @PhillipStack ваше решение не сработало. Я использовал ваш метод на другой странице, и место все еще остается.

4. t-att-style=»‘фоновое изображение: url (данные: изображение /png;base64,{});’.format (res_company.website_logo_img.replace(‘ ‘,»))»

5. Возможно, попробуйте заменить пробелы. Я прокомментировал выше. Я не видел этого раньше.