@pydjango

Страница 302 из 1273
Matz
05.06.2017
22:04:00
Друзья, а кто как реализовывал GenericIPAddressField, чтобы айпишник автоматически в админку записывался, при заполнении формы ? Через миддлвары ?

Aleksey
05.06.2017
23:51:14
Давно с джангой не сталкивался, сейчас могет из коробки джоин двух произвольных таблиц сделать, и GROUP_CONCAT ?

Matz
06.06.2017
03:48:22
при сохранении не пробовал?
при сохранении ничего, пустое поле так и остается

Google
Ilgiz
06.06.2017
03:49:19
сделай просто CharField и вручную бери ip address и сохраняй

Matz
06.06.2017
03:53:10
Я же написал, что вручную мне не надо. Пользователь заполяет форму и его ip пишется автоматически в бд. Я нашел библиотеку django-ipware, но не разобрался как связать модель, вьюху и форму

Ilgiz
06.06.2017
03:54:30
скажи мне зачем юзать библиотеку ради пару строчек кода?

один метод который берет ip с request и один который иницилизирует ip адресс при рендере формы

Matz
06.06.2017
03:57:23
скажи мне зачем юзать библиотеку ради пару строчек кода?
я ее и не юзал, т.к. не связал это все вместе

A
06.06.2017
04:05:51
Из реквестор можно дергать ip

Centrino
06.06.2017
04:38:29
Привет. Нужно к модели добавить поле slug и сгенерировать его для каждой записи по правилу. В миграциях есть возможность запускать свои функции. Вопрос: нужно ли писать у slug (null=False, blank=False)? ведь будут проблемы - у старых записей нет значения.

Dan
06.06.2017
05:01:20
думаю да

после того как все slug будут заполнены можно накатить еще одну миграцию в которй убрать null=False, blank=False

Centrino
06.06.2017
05:03:38
читаю документацию. Думаю попробовать через SchemaEditor поменять поле. Зачем две миграции, если можно в одну попробовать)

или я слишком большую хитрость делаю)

Dan
06.06.2017
05:10:54
ну тут с одной стороны вроде как сделать правильно - круто с другой стороны - а оно того стоит ? =)

Centrino
06.06.2017
05:12:59
конечно стоит. Есть alter_field(), но что туда передавать пока не пойму

Google
Dan
06.06.2017
05:18:17
мне кажется тебе нужно посмотреть в сторону migrations.RunPython

def create_stripe_plans(apps, schema_editor): # your code here class Migration(migrations.Migration): dependencies = [ ('subscriptions', '0001_initial'), ] operations = [ migrations.RunPython(create_stripe_plans, migrations.RunPython.noop) ]

это из живого сайта пример

Centrino
06.06.2017
05:26:58
спасибо, сейчас пишу миграцию

Alex
06.06.2017
08:03:00
Ребят, можете подсказать как формируется flatimage_set.all

именно название_set

Гуглил, но что то не понял.

Ruslan
06.06.2017
08:03:50
автомагически

Степан
06.06.2017
08:04:18
это название связанной модели в нижнем регистре + '_set'

Ruslan
06.06.2017
08:04:37
есть у тебя flatpage, на который через fk смотри flatimage, вот получил ты объект flatpage и через flatimage_set получаешь доступ ко всем привязанным к этому объекту flatimage

Alex
06.06.2017
08:05:15
Благодарю! Теперь понятно.

Hot
06.06.2017
08:25:58
А что у celery 4.0.2 с интеграцией с django?

А то походу вот этот https://pypi.python.org/pypi/django-celery/3.2.1 только для celery 3.x

Ruslan
06.06.2017
08:27:47
Я себе отложил автономный целери в репу, он работает всегда

Aleksey
06.06.2017
08:38:32
очень давно не пользовался celery, какой у него плюс перед manage.py задачами и cron?

Ruslan
06.06.2017
08:43:06
асинхронное выполнение задач

например у меня есть сервис по рендеру 3д печати, мне вгружают модель, я сохраняю её в хранилище и пускаю задачу в целери, как она отработает, я отдаю результат фронтенду

Igor
06.06.2017
08:54:51
Как отдается на фронт? Сокеты какие-то?

Ruslan
06.06.2017
09:08:11
да не, поллю периодически, у меня пока загрузка не очень большая

Hot
06.06.2017
09:13:45
Блин, не могу никак разнести по файлу celery.py в проекте и файлу tasks.py в приложении.

Google
Hot
06.06.2017
09:14:05
В celery.py создаётся app, и по идее для добавления periodic_tasks нужен этот app в tasks.py

Относительный импорт это вроде как не ок тема.

Что бы @app.on_after_configure_connect декоратор работал.

Для функции, которая заполнит periodic tasks.

Alex
06.06.2017
10:13:16
Ребят, подскажите, почему конфликтуют два урла?

url(r'(?P<metro_slug>\S+)/$', views.metro, name='metro'), url(r'(?P<cat_slug>\S+)/$', views.category, name='category'),

В чем ошибка регулярки?

1 перетягивает приоритет другой

Другогл

Dan
06.06.2017
10:14:08
у тебя они одинаковые

срабатывает первая

Alex
06.06.2017
10:14:48
Почему одинаковые? Вьюхи разные, слаг разный идентификатор

Dan
06.06.2017
10:15:13
url(r'^metro-(?P<metro_slug>\S+)/$', views.metro, name='metro'), url(r'^category-(?P<cat_slug>\S+)/$', views.category, name='category'),

они ищут одинаковые условия

у обоих r'(?P<metro_slug>\S+)/$' одинаковая

и я бы не советовал использовать \S+

хотя зависит от задачи конечно

UPD: поправил регулярку

Alex
06.06.2017
10:19:17
А что если я не хочу использовать лишние префиксы типа metro-, category-. Какой выход?

Google
Dan
06.06.2017
10:21:52
у тебя есть два урла /foo /bar как понять какое куда болжно вести ?

Aleksey
06.06.2017
10:29:59
имхо, этого очень не хватает в дефолтном урл ресолве джанги

Dan
06.06.2017
10:30:20
я посмотрел

мне такой подход не очень нравится =)

Admin
ERROR: S client not available

Eugene
06.06.2017
10:30:48
можно упртся и проверять в get_object()

Dan
06.06.2017
10:30:49
нет в дефолтном такого точно не надо

Eugene
06.06.2017
10:32:21
(?P<slug_foo>\S+) (?P<slug_bar>\S+) через {% url передавать %} ну и во views првоерять какой slug но это жесть что-то

Dan
06.06.2017
10:32:57
конечно жесть

Aleksey
06.06.2017
10:33:43
да не, просто в Yii, если мне память не изменяет, такое поведени по дефолту

в джанге это убирает гибкость, т.е. админка для всяких сеошников и прочей нечисти становится неудобной)

урлы не поменяешь как хочется, плоские урлы невозможно нормально использовать

FlatPage для всего в плоском виде не хватает

Dan
06.06.2017
10:34:26
в том то и дело что для сеошников это полный кошмар

Aleksey
06.06.2017
10:35:05
почему?

разраб задал урл /moi-blog/ в котором что-то есть

после очередного анализа запросов появилась необходимость использовать урл /ego-blog/

Google
Aleksey
06.06.2017
10:35:56
и все, нам требуется разработчик

вместо того, чтобы поправить из админки это)

Eugene
06.06.2017
10:36:26
o.O

category slug = models.SlugField() не?

Aleksey
06.06.2017
10:37:05
category slug = models.SlugField() не?
неа, мы меняем не дочерний, а сам слуг

т.е. смотри, у нас есть /ego-blog/ и /ego-photo/

Dan
06.06.2017
10:37:19
у тебя было две страницы которые отдавали 2 объекта foo и bar foo удалил и теперь въюха отдает 404 по твоей логике при заходе на url /foo или /bar всегда будет отдваться bar

Aleksey
06.06.2017
10:37:34
на одном уровне и мы хотим управлять слугами их обоих

Dan
06.06.2017
10:38:33
что приводит к дабл контенту и еще неприятным весчам

Eugene
06.06.2017
10:39:13
Ну так вынеси дочерние в модельку оо

Aleksey
06.06.2017
10:39:34
у тебя было две страницы которые отдавали 2 объекта foo и bar foo удалил и теперь въюха отдает 404 по твоей логике при заходе на url /foo или /bar всегда будет отдваться bar
не совсем, я про другое, смотри, в приоритете указываем следующие урлы /foo/ которое ведет на вьюху foo /foo/ которое ведет на вьюху bar если первый ресолв из админки удаляется, то попадет на второй. Если удаляется второй, то 404. Не допускать одинаковых имен - это другая задача, но в целом, думаю понятен смысл

и да, я понимаю, что это будет менее производительно, чем сейчас.

Dan
06.06.2017
10:41:07
ну а почему тебе не реализовать тоже самое на стороне въюхи ?

Aleksey
06.06.2017
10:41:21
я пробовал :)

Dan
06.06.2017
10:41:36
и ?

Aleksey
06.06.2017
10:41:41
вьюха получается огромная и в итоге все сводится к тому, что ты просто делаешь свой ресолвер

Dan
06.06.2017
10:42:09
ты так же делваешь два метода

если первый ругнулся вызываешь второй

хотя сама логика для меня не понятна

Страница 302 из 1273