class Items(APIView):
...
def post(self, request):
data = request.data.copy()
if data:
catalog = False
if 'catalog' in data[0].keys():
catalog_id = data[0]['catalog']
del data[0]
if Catalog.objects.filter(id=catalog_id):
catalog = Catalog.objects.get(id=catalog_id)
if not catalog:
catalog = Catalog.objects.order_by('-created')[0]
response_data = []
for item_data in data:
item_serializer = ItemSerializer(item_data)
if item_serializer.is_valid():
item_serializer.save(catalog=catalog)
response_data.append({
'success': True,
'item': item_serializer.data
})
else:
response_data.append({
'success': False,
'errors': item_serializer.errors
})
# returning success answer with response_data
<div class="col-12 col-md-10 offset-md-1 d-flex justify-content-between align-items-center">
<a href="/" class="text-decoration-none">
...
</a>
<div class="btn-group dropdown ml-2 mr-auto d-inline-flex">
...
</div>
<!-- Переключатель -->
<button class="navbar-toggler ml-auto d-block d-md-none" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Для десктопов -->
<div class="d-none d-md-inline-flex align-items-center">
...
</div>
</div>
<!-- Для мобилок -->
<div class="collapse navbar-collapse d-md-none" id="navbarSupportedContent">
<ul class="d-block d-md-none navbar-nav mr-3">
...
</ul>
</div>
var json_table = [];
$('#print-table tbody tr').slice(2).each(function() {
var tds = $(this).children('td');
json_table.push({
name: tds[0].text(),
rank: tds[1].text(),
phone: tds[2].text(),
});
});
def func(*nums):
ret = []
for num in nums:
ret.append('#' * num)
return ret
inp = [2, 10, 3, 5] # your input
res = func(inp)
inp = [2, 10, 3, 5] # your input
res = ['#' * n for n in inp] # генератор массивов или list-генератор
family = {
father: {
name: 'John',
wife: // ссылка на объекто-словарь Ann-ы
},
mother: {
name: 'Ann',
husband: // ссылка на объекто-словарь John-а
}
}
$('.navigation li a').on('click', function(e) {
//e.preventDefault(); - раскомментировать, если не хочешь менять хеш
$('#content section').removeClass('active-content'); // чистим все секции от класса active-content
$('#content section ' + e.href).addClass('active-content'); // если не выкатит, попробуй $(e).attr('href') и чекни значения, есть ли там #
});
DATABASES = {
'default': { # Сюда будут записываться другие приложения, оставить "default"!!!
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db',
'USER': 'username',
'PASSWORD': 'pass',
'HOST': 'localhost',
'PORT': '',
},
't': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db_t',
'USER': 'username',
'PASSWORD': 'pass',
'HOST': 'localhost',
'PORT': '',
},
't2': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db_t2',
'USER': 'username',
'PASSWORD': 'pass',
'HOST': 'localhost',
'PORT': '',
},
't3': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db_t3',
'USER': 'username',
'PASSWORD': 'pass',
'HOST': 'localhost',
'PORT': '',
},
't4': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db_t4',
'USER': 'username',
'PASSWORD': 'pass',
'HOST': 'localhost',
'PORT': '',
},
't5': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db_t5',
'USER': 'username',
'PASSWORD': 'pass',
'HOST': 'localhost',
'PORT': '',
}
}
manage.py makemigrations <название приложения перевода>
manage.py migratе <название приложения перевода> --database=t<номер базы>
manage.py migratе
manage.py runserver <параметры>
*Создаем тестовый экземпляр*
manage.py update_translation_fields