Vue.prototype.$bus = new Vue();
this.$bus.$emit('eventname');
this.$bus.$on
сможет получать уведомления goods = ['Товар1', 'Товар2', 'Товар3', 'Товар4', 'Товар5', 'Товар6', 'Товар7', 'Товар8', 'Товар9', 'Товар10', 'Товар11', 'Товар12']
@bot.message_handler(func=lambda mess: "Продукция1" == mess.text, content_types=['text'])
def handle_text(message):
keyboard = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True, one_time_keyboard=False)
for goods_item in goods:
keyboard.row(goods_item)
bot.send_message(message.from_user.id, "Выберите товар", reply_markup=keyboard)
@bot.message_handler(func=lambda mess: mess.text in goods, content_types=['text'])
def handle_text(message):
keyboard = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True, one_time_keyboard=False)
if message.text in goods:
bot.send_message(message.chat.id, "", reply_markup=keyboard )
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings") # путь к файлу настроек
django.setup()
project.settings
, то можно дополнительно написать вначале import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) # В последнем параметре указываем путь, откуда можно сделать импорт.
func
не передали параметры, которые передаются в функцию обертку.def decor(func):
def inner(*args, **kwargs):
print('start')
func(*args, **kwargs)
print('end')
return inner
flex-wrap: wrap;
, после чего все его элементы смогут выстраиваться в несколько строк. Для того чтобы последний элемент попал на новую строку, ему не должно хватать места на текущей. (задать ему width: 100%; или у других двух width: 50%; как вариант) site.com/catalog/?brand=1&brand=3&brand=4
brands = request.GET.getlist('brand')
<div class="preview">
<div class="preview__image">
<a href="#">
<img src="" alt="">
</a>
</div>
<div class="preview__title">
<a href="#">item name</a>
</div>
<ul class="preview__price">
<li class="preview__price-new">
1700
</li>
<li class="preview__price-old">
2300
</li>
</ul>
<a href="#" class="preview__bay">Купить</a>
</div>
<div class="product">
<div class="product__image"> // слайдер с картинками, или изображение или еще что
<img src="" alt="">
</div>
<div class="product__info">
<div class="product__title">
Name item
</div>
<div class="product__description">
velit esse cillum dolore eu fugiat nulla pariatur.
</div>
<div class="product__property">
<h3>Состав</h3>
<p>Хлопок 20%, Полиэстр 80%</p>
</div>
<div class="product__property">
<h3>Количество в упаковке</h3>
<p>30</p>
</div>
<div class="product__menu">
<input type="text" name="" value="">
<button type="button" name="купить"></button>
</div>
</div>
</div>
prevArrow
, nextArrow
можно указать свой html код для стрелок (а также DOM objects или Jquery селектор). Подробнее можно посмотреть на странице слайдера с описанием всех свойств и их примерами.