#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. Возможно, попробуйте заменить пробелы. Я прокомментировал выше. Я не видел этого раньше.