@pydjango
Django

Полезная информация и правила: https://github.com/amureki/django_faq Вакансии и резюме: @django_jobs Пофлудить идём сюда: @django_flood Статистика чата: combot.org/chat/-1001063854692

1741 members

Архив канала @pydjango 1 декабря 2016 г.

06:46:08 ДП
User 2895769
а как вы считаете более правильным / удобным поступать в ситуации, когда у нас проект, который пишете только вы один:
- не использовать трекер задач, писать это всё в коммитах
- использовать трекер задач, писать в коммитах Fix #номер_задачи_из_трекера
06:47:51 ДП
User 378433
Гит флоу
06:48:07 ДП
User 378433
Одна задача - одна ветка
06:48:24 ДП
User 2895769
git/hg flow - удобный механизм, согласен) но тут вопрос больше о том, нужен ли трекер или нет
06:48:44 ДП
User 2895769
вот эти все карточки на Trello/YouTrack'e
06:48:53 ДП
User 2895769
или просто в коммитах писать
06:50:22 ДП
User 2895769
на Asana тоже карточки появились, кстати
06:51:07 ДП
User 274117663
Помогите пожалуйста. Изучаю ща https://tutorial.djangogirls.org, все шло гладко но на главе "Формы..." остановился, ибо ошибку выдает.

NoReverseMatch at /
Reverse for 'blog.views.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

http://pastebin.com/iWATpBju
06:54:23 ДП
User 2895769
ошибка в том, что он не может где-то там сгенерировать ссылку
06:54:40 ДП
User 2895769
попробуй заменить 'blog.views.post_new' на 'post_new'
06:55:01 ДП
User 274117663
Спасибо, сейчас попробую
06:55:45 ДП
User 2895769
в твоём примере выше нет этого кода, который вызывает ошибку и не указано, как именно ты подключаешь приложение, там могут быть нюансы
06:56:08 ДП
User 274117663
NoReverseMatch at /
Reverse for 'blog.views.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Request Method:  GET
Request URL:  http://127.0.0.1:8000/
Django Version:  1.10.3
Exception Type:  NoReverseMatch
Exception Value:  
Reverse for 'blog.views.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Exception Location:  C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\urls\resolvers.py in _reverse_with_prefix, line 392
Python Executable:  C:\Users\User\AppData\Local\Programs\Python\Python35-32\python.exe
Python Version:  3.5.2
Python Path:  
['C:\\Users\\User\\Desktop\\learnDjango\\djg',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\python35.zip',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\DLLs',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\lib',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages']
Server time:  Чт, 1 Дек 2016 06:56:01 +1000
Error during template rendering

In template C:\Users\User\Desktop\learnDjango\djg\blog\templates\blog\post_list.html, error at line 0
Reverse for 'blog.views.post_new' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
1  {% extends 'blog/base.html' %}
2  {% block content %}
3          {% for post in posts %}
4              <div class="post">
5                  <div class="date">
6                      {{ post.published_date }}
7                  </div>
8                  <h1><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
9                  <p>{{ post.text|linebreaksbr }}</p>
10              </div>
06:57:28 ДП
User 2895769
это ошибка о том, что где-то там при генерации ссылки он не может найти ничего похожегона 'blog.views.post_new'  в urls.py для генерации обратной ссылки на это
06:58:48 ДП
User 2895769
то есть тебе нужно или в том коде поменять или в urls.py вставить 'blog.views.post_new' вместо 'post_new'
06:59:33 ДП
User 2895769
они с этими urls.py в каждой версии Django что-то улучшают 😀
07:01:18 ДП
User 2895769
кликни на самой верхней директории в IDE ПКМ, выбери там Find in path... и вставь туда blog.views.post_new
07:01:31 ДП
User 2895769
он тебе найдёт все те моменты, где оно используется
07:02:12 ДП
User 274117663
А я открываю каждый файл и  с помощью ctrl+f  ищу)
07:04:04 ДП
User 274117663
"попробуй заменить 'blog.views.post_new' на 'post_new'"Я заменил короче, но уже другая ошибка
07:04:23 ДП
User 2895769
зато прогресс есть)
07:04:47 ДП
User 274117663
У меня blog.views.post_new используется в html файле
07:05:07 ДП
User 274117663
Она вставляется в href тегу <a>
07:05:29 ДП
User 274117663
a href="{% url 'post_new' %}"
07:07:36 ДП
User 2895769
ты можешь вставить перед urlpatterns туда 
app_name = 'yourapp' и в ссылках указывать a href="{% url 'yourapp:post_new' %}"
07:07:50 ДП
User 2895769
тогда разные ссылки из разных приложений не перепутаются
07:08:20 ДП
User 2895769
ну  в reverse() аналогично
07:09:00 ДП
User 274117663
Это нужно вставить в urls который внутри приложения ? Или который корневой так сказать
07:11:19 ДП
07:11:22 ДП
User 274117663
Ништяк
07:11:24 ДП
User 274117663
Починилось
07:11:31 ДП
User 274117663
Только вот другое поламалось
07:12:15 ДП
User 2895769
в корневые ты можешь вставить урлы этого приложения под разными неймсмейсами
07:12:29 ДП
User 2895769
https://docs.djangoproject.com/en/1.10/topics/http/urls/#id4
07:12:54 ДП
User 274117663
Спасибо большое)
07:14:43 ДП
07:21:20 ДП
User 274117663
А вот все, вторую ошибку решил тем же способ что и первым
07:21:40 ДП
User 274117663
Но я так и не понял из за чего ошибка то была
09:26:13 ДП
User 125881721
#вакансия
Смышленый питонист (джангист)

Мы предлагаем присоединиться к команде разработки и тестирования продуктов/гипотез. 

Что предстоит делать.
Данная команда не беспокоится о нагрузках, качестве кода. Задачи участников команды:
•  Определять технологический стек 
•  Определять объем работ
•  Распределять задачи согласно требуемого срока для подготовки прототипа для тестирования продукта/гипотезы
Главная задача - это чтобы то, что было задумано заработало за заданный срок.

Что мы ждем от кандидата.
Очень важно:
•  Самостоятельность, инициативность.
•  Умение мыслить нестандартно.
•  Уметь правильно рассчитывать сроки.
•  Cпособность и желание быстро разбираться в новых нестандартных задачах.
•  Принимать решения и нести за них ответственность.

Важно:
•  Python (Django).
•  Знание фреймворка для frontend-разработки
•  Знание инструментов, обеспечивающие качество кода
•  Понимание для чего сообщества программистов
•  JavaScript (возможно ReactJs, Ionic), HTML, *nix.
•  Приветствуются участие в хакатонах и исследовательских инициативах.

Будет плюсом:
•  FIREBASE, elastic, kibana, django, sentry, fabric, new relic, Jira, 
•  Опыт использования NoSQL, REST, Postgresql
•  Нагрузочное тестирование.
•  Есть эксперименты с парным программированием.
•  Отличная математическая подготовка.

Условия.
•  Гибкий график, возможна частичная дистанционность при условии соблюдения дедлайнов;
•  Точный размер заработанной платы будет определяться по результатам собеседования в зависимости от уровня компетенций и объективного опыта кандидата.

Бонусы
Премия KPI

С удовольствием отвечу на вопросы: Ринат Бакиев, bakiev@realogic.ru, skype rinatbakiev
09:42:36 ДП
User 107485588
Данная команда не беспокоится о качестве кода. Nuff said
09:58:03 ДП
User 939161
нужно что-бы одна из страниц открывалась по одному домену, при этом остальные страницы открывались по другому, как это лучше всего реализовать?
10:12:57 ДП
User 60095103
Хороший вопрос, 👍, тоже интересно
10:15:17 ДП
User 88127526
User 939161
нужно что-бы одна из страниц открывалась по одному домену, при этом остальные страницы открывались по другому, как это лучше всего реализовать?
nginx
10:15:59 ДП
User 939161
в nginx прописаны оба домена
11:02:55 ДП
User 939161
User 88127526
nginx
а поподробнее
11:05:03 ДП
User 88127526
User 939161
а поподробнее
опиши конкретно поведение которого ты хочешь добиться, а то я не совсем понимаю в чем проблема
11:07:17 ДП
User 939161
User 88127526
опиши конкретно поведение которого ты хочешь добиться, а то я не совсем понимаю в чем проблема
есть меню из нескольких пунктов (на каждый пункт условно по вьюхе написано), нужно чтобы один из пунктов меню открывался (был доступен) по одному домену, а остальные открывались (были доступны) по другому.
11:13:27 ДП
User 274117663
Помогите. Не видит шаблон. Когда все делал по примеру(копипастил так сказать) то все работало, потом решил сделать уже сам(на память типо) и все. Шаблон не видет, потом вроде сверялся,, вроде все нармас. Папка templates(внутри нее шаблон) лежит в папке приложения.
TemplateDoesNotExist at /
main.html
Request Method:  GET
Request URL:  http://127.0.0.1:8000/
Django Version:  1.10.3
Exception Type:  TemplateDoesNotExist
Exception Value:  
main.html
Exception Location:  C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\template\loader.py in get_template, line 25
Python Executable:  C:\Users\User\AppData\Local\Programs\Python\Python35-32\python.exe
Python Version:  3.5.2
Python Path:  
['C:\\Users\\User\\Desktop\\learnDjango\\myproject',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\python35.zip',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\DLLs',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\lib',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32',
 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages']
Server time:  Чт, 1 Дек 2016 11:13:10 +1000
Template-loader postmortem

Django tried loading these templates, in this order:

Using engine django:
django.template.loaders.app_directories.Loader: C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\contrib\admin\templates\main.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\contrib\auth\templates\main.html (Source does not exist)
11:14:49 ДП
User 274117663
апп_дирс = Тру
11:16:36 ДП
User 939161
конфиг TEMPLATES покажи
11:17:05 ДП
User 274117663
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
11:17:10 ДП
11:18:33 ДП
User 88127526
User 939161
есть меню из нескольких пунктов (на каждый пункт условно по вьюхе написано), нужно чтобы один из пунктов меню открывался (был доступен) по одному домену, а остальные открывались (были доступны) по другому.
а что должно происходить если на одном домене открыть путь, тот что по идее должен открываться на другом?
11:18:52 ДП
User 41737593
User 274117663
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
в DIRS укажи папку с шаблонами
11:19:21 ДП
User 939161
User 274117663
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
'DIRS': [os.path.join(BASE_DIR, 'templates')],
11:19:24 ДП
User 274117663
Да, я вкурсе про это, но в примере как раз таки не указывалась там папка с шаблоном и все работало
11:19:31 ДП
User 939161
BASE_DIR = os.path.realpath(os.path.dirname(__file__))
11:20:09 ДП
User 939161
User 88127526
а что должно происходить если на одном домене открыть путь, тот что по идее должен открываться на другом?
он откроется на другом домене
11:20:24 ДП
User 88127526
User 939161
он откроется на другом домене
т.е. редирект?
11:21:11 ДП
User 274117663
User 939161
'DIRS': [os.path.join(BASE_DIR, 'templates')],
Сделал так, все равно не пашет
11:21:56 ДП
User 939161
User 88127526
т.е. редирект?
зачем редирект? все на своих местах
11:23:05 ДП
User 939161
наверное все сводится к тому что просто в меню нужно захардкодить урлы с нужными доменами, и во вьюхе отдавать контнет проверяя домен
11:23:27 ДП
User 88127526
User 939161
зачем редирект? все на своих местах
чего на своих местах? вот есть адреса qwe.ert/1.html и asd.fgh/2.html, если я вобью адрес qwe.ert/2.html что должно случиться?
11:23:50 ДП
11:24:11 ДП
User 939161
редирект на 1.html
11:25:45 ДП
User 274117663
Заработало
11:25:46 ДП
User 274117663
Забавно
11:30:26 ДП
User 88127526
User 939161
редирект на 1.html
т.е. у тебя там две страницы
11:30:43 ДП
User 88127526
в общем настраивай в nginx для каждого домена правила и исключения
11:30:53 ДП
User 88127526
и редиректы
11:39:10 ДП
User 939161
Так это же в джанге все можно сделать
11:44:57 ДП
User 107485588
Джанга же ничего про твои домены не знает
11:48:57 ДП
User 939161
Как это, доступна переменная в реквесте, host
11:51:33 ДП
User 107485588
Это уже пахнет костылями
02:33:32 ПП
User 218876148
>Данная команда не беспокоится о нагрузках
>Нагрузочное тестирование.
Does not compute
02:49:49 ПП
User 2895769
пришло время выбора) так и не смог решить : Python 3.5 + Django 1.10 или Python 3.6dev + Django из trunk'а
02:52:17 ПП
User 239800743
бери python 2.4 и джангу 1.3
02:56:21 ПП
User 61401061
если хочется поразрабатывть питон и джангу - то второе. если свой проект - то первое.
02:57:40 ПП
User 2895769
они пишут, что вроде стабильно с 3.6 там всё
02:57:51 ПП
User 2895769
им вообще стоит верить?
02:58:30 ПП
User 2895769
https://code.djangoproject.com/ticket/27025
03:00:10 ПП
User 2895769
даже так: вот кто-нибудь в этой группе программирует сейчас какой-нибудь проект на Python 3.6 + Django dev?
03:04:06 ПП
User 18500084
User 2895769
они пишут, что вроде стабильно с 3.6 там всё
А в чем проблема спокойно перейти после оф.релиза? Для чего вам этот bleeding edge?
03:04:28 ПП
User 18500084
Что-то прям нужно из дев версий или просто похвастаться?
03:04:39 ПП
User 2895769
мне хочется новый питончик
03:04:49 ПП
User 18500084
3.5 - новый
03:04:56 ПП
User 18500084
3.6 - ещё не вышел
03:04:59 ПП
User 2895769
3.6 ещё новее) там форматирование строк нравится
03:05:07 ПП
User 2895769
да он выйдет через 2 недели
03:05:29 ПП
User 18500084
Переведете, как выйдет, дело не долгое с 3.5 на 3.6
03:05:49 ПП
User 2895769
на 1.10, скорее всего, 3.6 работать не будет без глюков
03:06:02 ПП
User 18500084
Будет
03:06:17 ПП
User 18500084
Там ничего брейкинг нет
03:06:20 ПП
User 2895769
а тесты там проходятся?
03:07:02 ПП
User 18500084
После релиза увидим) не будут проходиться, захотфиксят в минорном джанго релизе
03:07:44 ПП
User 2895769
я на это надеюсь)
05:28:47 ПП
User 44072265
User 2895769
3.6 ещё новее) там форматирование строк нравится
покажи пример)
05:30:03 ПП
User 2895769
https://www.python.org/dev/peps/pep-0498/
python.org/dev/peps/pep-0498
The official home of the Python Programming Language
05:30:43 ПП
User 2895769
 >>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'
05:34:25 ПП
User 378433
User 125881721
#вакансия
Смышленый питонист (джангист)

Мы предлагаем присоединиться к команде разработки и тестирования продуктов/гипотез. 

Что предстоит делать.
Данная команда не беспокоится о нагрузках, качестве кода. Задачи участников команды:
•  Определять технологический стек 
•  Определять объем работ
•  Распределять задачи согласно требуемого срока для подготовки прототипа для тестирования продукта/гипотезы
Главная задача - это чтобы то, что было задумано заработало за заданный срок.

Что мы ждем от кандидата.
Очень важно:
•  Самостоятельность, инициативность.
•  Умение мыслить нестандартно.
•  Уметь правильно рассчитывать сроки.
•  Cпособность и желание быстро разбираться в новых нестандартных задачах.
•  Принимать решения и нести за них ответственность.

Важно:
•  Python (Django).
•  Знание фреймворка для frontend-разработки
•  Знание инструментов, обеспечивающие качество кода
•  Понимание для чего сообщества программистов
•  JavaScript (возможно ReactJs, Ionic), HTML, *nix.
•  Приветствуются участие в хакатонах и исследовательских инициативах.

Будет плюсом:
•  FIREBASE, elastic, kibana, django, sentry, fabric, new relic, Jira, 
•  Опыт использования NoSQL, REST, Postgresql
•  Нагрузочное тестирование.
•  Есть эксперименты с парным программированием.
•  Отличная математическая подготовка.

Условия.
•  Гибкий график, возможна частичная дистанционность при условии соблюдения дедлайнов;
•  Точный размер заработанной платы будет определяться по результатам собеседования в зависимости от уровня компетенций и объективного опыта кандидата.

Бонусы
Премия KPI

С удовольствием отвечу на вопросы: Ринат Бакиев, bakiev@realogic.ru, skype rinatbakiev
так вам жсника или джанглиста надо?
05:38:42 ПП
User 378433
Может вам еще чтоб носки штопать умел
05:38:48 ПП
05:40:27 ПП
User 149595952
User 2895769
 >>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'
Такое же нравится в ES6(JS). He said his name ${name}
05:42:04 ПП
User 378433
Теперь прямо как в пхп
05:42:08 ПП
User 378433
Со всем вытекающим
05:42:27 ПП
User 378433
Гвидо, очнись, скриптеры хуеют
05:42:28 ПП
User 149595952
Как в руби)
05:42:41 ПП
User 82569033
Подскажите по сигналам, хочу отправлять сигнал при выполнении собствненной команды. 
class Command(BaseCommand):

    def handle(self, *args, **options):
        now = timezone.now()
        two_hour = now - datetime.timedelta(hours=2)
        MySession.objects.filter(expire_date__range=(two_hour, now)).delete()
        Session.objects.filter(expire_date__range=(two_hour, now)).delete()

        usr_hour = Signal(providing_args=[])
        usr_hour.send(sender=self.__class__)

        self.stdout.write('Succes')
Создаю функцию получателя в signals.py, теперь мне нужно настроить её, полчать сигналы только от usr_hour, не совсем понимаю как это сделать. 
@receiver(usr_hour, sender=Command)
def my_callback(sender, **kwargs):
    pass
Если с тем как импортивровать Command у меня вопросов нет, то как узнать о существовании usr_hour?
05:42:57 ПП
User 378433
Создать его
05:43:05 ПП
User 378433
И импортировать
05:43:25 ПП
User 82569033
usr_hour = Signal(providing_args=[])
это создание вроде
05:43:36 ПП
User 378433
Создавай не в скопе команды, а в топ-левеле модуля
05:45:07 ПП
User 82569033
не понял, если я его не в команде создам, то как мне заставить его отправляться при отработке команды?
05:47:29 ПП
User 378433
Не помню, какой-то метод нужно дернуть на нем
05:50:17 ПП
User 82569033
я еблан, понял что ты имел в виду, спасибо
08:00:46 ПП
User 109322233
User 125881721
#вакансия
Смышленый питонист (джангист)

Мы предлагаем присоединиться к команде разработки и тестирования продуктов/гипотез. 

Что предстоит делать.
Данная команда не беспокоится о нагрузках, качестве кода. Задачи участников команды:
•  Определять технологический стек 
•  Определять объем работ
•  Распределять задачи согласно требуемого срока для подготовки прототипа для тестирования продукта/гипотезы
Главная задача - это чтобы то, что было задумано заработало за заданный срок.

Что мы ждем от кандидата.
Очень важно:
•  Самостоятельность, инициативность.
•  Умение мыслить нестандартно.
•  Уметь правильно рассчитывать сроки.
•  Cпособность и желание быстро разбираться в новых нестандартных задачах.
•  Принимать решения и нести за них ответственность.

Важно:
•  Python (Django).
•  Знание фреймворка для frontend-разработки
•  Знание инструментов, обеспечивающие качество кода
•  Понимание для чего сообщества программистов
•  JavaScript (возможно ReactJs, Ionic), HTML, *nix.
•  Приветствуются участие в хакатонах и исследовательских инициативах.

Будет плюсом:
•  FIREBASE, elastic, kibana, django, sentry, fabric, new relic, Jira, 
•  Опыт использования NoSQL, REST, Postgresql
•  Нагрузочное тестирование.
•  Есть эксперименты с парным программированием.
•  Отличная математическая подготовка.

Условия.
•  Гибкий график, возможна частичная дистанционность при условии соблюдения дедлайнов;
•  Точный размер заработанной платы будет определяться по результатам собеседования в зависимости от уровня компетенций и объективного опыта кандидата.

Бонусы
Премия KPI

С удовольствием отвечу на вопросы: Ринат Бакиев, bakiev@realogic.ru, skype rinatbakiev
очень желательно вилку зп указывать