Size: a a a

Django [ru] #STAY HOME

2018 December 09

А

Алексей in Django [ru] #STAY HOME
Alex
Если объясните, почему мой код говно-код, и какие могут быть проблемы в функциональности. С радостью приму эту критику. Опять же, если у вас есть желание конечно же.
random_int = random.randint(0,20)
final_slug += str(random_int)
почему рандом, а не по порядку следующий после использованных номеров, а что если рандом совпадет с уже существующим?
источник

A

Alex in Django [ru] #STAY HOME
Dan Tyan
если я правильно понял у него есть небольшое ограничение

если слаг одинаковый но он добавляет +1 к слагу
так вот когда этот +1 достигает 99 то он упирается в ограничение которое настраивается в settings
А какой принцип работы у django-autoslug. В частности интересует. Если я использую autoslug в модели Поста, и в модели Категории. То есть две разные модели. И допустим я хочу чтобы пути были корневые сайт.ру/название-статьи/, сайт.ру/название-категории/. И что будет тогда, если слаг категории и статьи будет совпадать? Нужно для этого делать проверку перед сохранением? Или автослаг это учитывает? Или вариант только Разделять типа post/название-статьи, category/название категории
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Alex
Кстати ребят, если у кого-то вдруг есть огромное желание покидаться какашками в мой говнокод. То представляю вашему вниманию, свой вариант автослага. Написал его изначально, когда не смог установить в самом начале django-autoslug.  https://github.com/AlexLinus/my_own_autoslug/blob/master/autoslug.py
есть библиотека
transliterate которая переводит в латиницу ;)
источник

A

Alex in Django [ru] #STAY HOME
Алексей
random_int = random.randint(0,20)
final_slug += str(random_int)
почему рандом, а не по порядку следующий после использованных номеров, а что если рандом совпадет с уже существующим?
Да, в этом действительно есть огрех. Согласен. Но по факту он запускается снова. Но опять же, если все 20 одинаковые будет. То да!
источник

A

Alex in Django [ru] #STAY HOME
Dan Tyan
есть библиотека
transliterate которая переводит в латиницу ;)
Спасибо. Взял на заметку.
источник

I

Il`ya (Marshal) in Django [ru] #STAY HOME
При bulk_create у ServerInfo говорит, что server_info.server = null. Хотя если сделать print(new_servers_info[0].server), то там будет объект. В чём может быть проблема?
источник

B

Blazer in Django [ru] #STAY HOME
Подскажите, если нужно во вьюхе главной странице передать параметр slug, как урл главной страницы собрать? Сейчас урл такой.
path('', views.index, name='index_page')
источник

A

Alex in Django [ru] #STAY HOME
Blazer
Подскажите, если нужно во вьюхе главной странице передать параметр slug, как урл главной страницы собрать? Сейчас урл такой.
path('', views.index, name='index_page')
А зачем во вьюхе передавать слаг в главную страницу?
источник

A

Alex in Django [ru] #STAY HOME
Если она главная, то по сути она доступа по корню /. То есть слаг не нужно передавать. Только если не хотите, чтобы главная страница была доступна по site.ru/index/
источник

B

Blazer in Django [ru] #STAY HOME
Alex
Если она главная, то по сути она доступа по корню /. То есть слаг не нужно передавать. Только если не хотите, чтобы главная страница была доступна по site.ru/index/
проблема заключается в том, что нужно на главной получить категории для того, чтоб была возможность сделать ссылку с главной на страницу где представленны товары данной категории.
источник

B

Blazer in Django [ru] #STAY HOME
Alex
Если она главная, то по сути она доступа по корню /. То есть слаг не нужно передавать. Только если не хотите, чтобы главная страница была доступна по site.ru/index/
вот кусок главной, где выводятся блоки с товаром из разных категорий. При клики на названии категории к примеру "Материнские платы" пользователь должен попасть на страницу где предствленны все товары
источник

A

Alex in Django [ru] #STAY HOME
Мне кажется вам во вьюхе главной страницы, просто нужно отфильтровать категории. Передать в шаблон, и потом воспользоваться в шаблоне конструкцией {% url 'some-url-name' параметр %}. Или определите get_absolute_url в модели. Погуглите. Поправьте меня более знающие специалисты, если это не так.
источник

B

Blazer in Django [ru] #STAY HOME
Alex
Мне кажется вам во вьюхе главной страницы, просто нужно отфильтровать категории. Передать в шаблон, и потом воспользоваться в шаблоне конструкцией {% url 'some-url-name' параметр %}. Или определите get_absolute_url в модели. Погуглите. Поправьте меня более знающие специалисты, если это не так.
отфильтровать как?
category = Category.objects.filter()
что передать в фильтр?
источник

I

Il`ya (Marshal) in Django [ru] #STAY HOME
Il`ya (Marshal)
При bulk_create у ServerInfo говорит, что server_info.server = null. Хотя если сделать print(new_servers_info[0].server), то там будет объект. В чём может быть проблема?
https://code.djangoproject.com/ticket/27408

Веселье, красота, удобство
источник

A

Alex in Django [ru] #STAY HOME
Blazer
отфильтровать как?
category = Category.objects.filter()
что передать в фильтр?
Ну если вам нужны все категории которые есть, то objects.all(). А если вам нужны допустим несколько конкретных, то я думаю нужно отфильтровать по Слагу\ID\Тайтлу я думаю. Типа .filter(id=нужныйайди), .filter(slug__iexact = нужный слаг), тайтл.
источник

A

Alex in Django [ru] #STAY HOME
Alex
Ну если вам нужны все категории которые есть, то objects.all(). А если вам нужны допустим несколько конкретных, то я думаю нужно отфильтровать по Слагу\ID\Тайтлу я думаю. Типа .filter(id=нужныйайди), .filter(slug__iexact = нужный слаг), тайтл.
Точнее лучше гет использовать, если нужна конкретная категория.
источник

B

Blazer in Django [ru] #STAY HOME
Alex
Точнее лучше гет использовать, если нужна конкретная категория.
ну да в том то и прикол, что если гет thiscat = Category.objects.get(slug=slug) то нужно во вьюхе передать этот slug
источник

B

Blazer in Django [ru] #STAY HOME
я гет использую на других страницах где нужно вывести категории, там все работает т.к. я ередаю обязятельный парамет во вьюхе slug и в урл он его принимает. А на главной так блин не прокатывает)
источник

A

Alex in Django [ru] #STAY HOME
Короче, сделай так. В модели сделай booleanField, например is_main_page. По Дефолту = False. Потом отфильтруй во вьюхе главной через Category.objects.filter(is_main_page=True). А в шаблоне уже используй for category in thiscat цикл. И тем самым на главной выведуться категории, которые ты отметил в админке галочкой в поле is_main_page. Понятно или не очень?
источник

NK

ID:531453784 in Django [ru] #STAY HOME
Ольга Петрова будет жить. Поприветствуем!
источник