@python_beginnersЭта группа больше не существует

Страница 897 из 1885
Johnnie
08.12.2016
12:39:21
def logout(): """Logout.""" def about(): """About page."""

это чо модно что ли так писать ща?

зачем в комменте дублировать название функции?

Pavel
08.12.2016
12:40:02
это чо модно что ли так писать ща?
какой-нибудь linter ругается на отсутвие док-стринга, а что в нём писать - хз.

Google
Johnnie
08.12.2016
12:40:17
ааа... прикольно чо)

нахер нужен такой линтер

тнн Itjunky
08.12.2016
12:41:28
зачем в комменте дублировать название функции?
Это ж не коммент, а особый формат простенькой документации сразу в коде

Pavel
08.12.2016
12:41:35
нахер нужен такой линтер
всё-таки, докстринги нужная вещь. И лучше пару раза написать херню в нем, чем один раз не написать действительно важные вещи.

Johnnie
08.12.2016
12:41:38
ну докстринг, суть-то та же

тнн Itjunky
08.12.2016
12:41:56
Не совсем

Johnnie
08.12.2016
12:44:53
okay, буду писать(

Andrei
08.12.2016
12:48:10
привет всем не понимаю где ошибка

print(range(1,10)) print('\n57. Example with function(if, while, for...):') k=[39,'february',2016] years=range(1,2020) mounth={'janvari':range(1,31),'february':range(1,28)} if k[1] in mounth.keys(): k[1]=mounth.keys() print_m=k[1] print(print_m) else: print('Mounth like ',k[1],' is not in years.') if k[0] in mounth.get(k[1]): print_d=k[0] print(print_d) else: print('Date like ',k[0],' is not in mounth ',k[1]) if k[2] in years: print_y=k[2] print(print_y) else: print('You give so mathch years!')

Pavel
08.12.2016
12:49:14
или month, или mouth.

Google
Pavel
08.12.2016
12:51:13
janvari o_o
janvaris - это из латышского, february - английский. Дружба народов.

Johnnie
08.12.2016
12:51:35
не баг, а фича

Pavel
08.12.2016
12:51:53
Андрей, прежде чем предложить искать ошибку, было бы неплохо сказать, какая задача стоит.

А то мы ищем, да. И находим. ?

Johnnie
08.12.2016
12:53:03
а кто может подсказать по валидации форм во фласке? я чет запутался, походу что-то из того что я смотрю уже устарело

Dima
08.12.2016
12:53:17
чинить говнокод странными требованиями?
почему чинить? на тройке-то работает. у меня там примерно так self.assertIn([range(18, 20), 'лет'], [[range(18, 20), 'лет'], ...])

Johnnie
08.12.2016
12:53:35
в каких случаях нужно переопределять метод validate при создании формы?

Andrei
08.12.2016
12:53:51
print(range(1,10)) --без этогою

Johnnie
08.12.2016
12:54:10
и почему нельзя просто обойтись [validators.Length(min=4, max=25)] вот такими штуками?

Andrei
08.12.2016
12:55:08
Pavel
08.12.2016
12:55:22
и почему нельзя просто обойтись [validators.Length(min=4, max=25)] вот такими штуками?
скорее всего, validate позволяет отвалидировать всю форму в целом (при введёном телефоне можно не вводить email и т.п.)

Johnnie
08.12.2016
12:55:25
что без принт рейндж? я не понимаю

скорее всего, validate позволяет отвалидировать всю форму в целом (при введёном телефоне можно не вводить email и т.п.)
ну то есть по дефолту пишем валидаторы в поля ,если не хватает - пилим свой без них?

Pavel
08.12.2016
12:56:09
ну то есть по дефолту пишем валидаторы в поля ,если не хватает - пилим свой без них?
так в жанге по крайней мере. Скорее всего, тут примерно такой же подход.

Johnnie
08.12.2016
12:56:32
в одном примере ваще нашел авторизацию

в валидации

я канеш нуб, но мне кажется так быть не должно

self.user = User.query.filter_by(username=self.username.data).first() if not self.user: self.username.errors.append('Unknown username') return False if not self.user.check_password(self.password.data): self.password.errors.append('Invalid password') return False if not self.user.active: self.username.errors.append('User not activated') return False return True

вот типа такого

Google
Pavel
08.12.2016
12:58:11
Для примеера нормально всё. дал пустой username - свалится первая проверка. Проблема с паролем - не пройдёт вторая.

Johnnie
08.12.2016
12:59:23
мне казалось, что в валидаторах мы должны проверять только длину там, формат данных

а сама петрушка с проверкой валидности - во вьюшке

Johnnie
08.12.2016
13:00:09
https://github.com/sloria/cookiecutter-flask

его там развернуть надо

я уже передумал его использовать)

Pavel
08.12.2016
13:03:04
а сама петрушка с проверкой валидности - во вьюшке
филосовский вопрос, на самом деле, как лучше.

Vadim
08.12.2016
13:21:21
Посоны, бля. Объясните васяну. В саблайме не стартует код. Тупо происходит нихуя.

Что отвалилось?

Pavel
08.12.2016
13:26:33
Что отвалилось?
Билд engine не прописан?

Vadim
08.12.2016
13:27:45
спасибо

Aleksandr
08.12.2016
13:28:49
print(range(1,10)) --без этогою
А во 2 есть range? Разве не xrange?

Pavel
08.12.2016
13:29:20
Aleksandr
08.12.2016
13:29:31
Аа ок

Pavel
08.12.2016
13:30:11
Только они разные. :) range = list(xrange)

Andrei
08.12.2016
13:33:24
тест код

Google
Johnnie
08.12.2016
13:55:56
а как во фласке сделать в базовом шаблоне в блоке content некий текст, чтобы при наследовании этого шаблона и переопределении блока он не затирался, а дополнялся?

хз понятно ли объяснил)

Johnnie
08.12.2016
13:58:31
ооо, спасибо, точно

Zart
08.12.2016
13:59:03
тамошний супер() возвращает строчку с контентом блока до замены

Admin
ERROR: S client not available

Zart
08.12.2016
13:59:24
т.е. можно при желании и повторить несколько раз или в переменную закинуть на лету

Johnnie
08.12.2016
14:00:03
да, так тоже работает, но пока не нужно))

Dima
08.12.2016
14:43:47
и где ж там hash() ?
ну а как он сравнивает списки? по хешу елементов же.

Johnnie
08.12.2016
15:00:44
>>>> [xrange(10, 20)] == [xrange(10, 20)] False
>>> a = range(10, 20) >>> b = range(10, 20) >>> id(a) 140379346006784 >>> id(b) 140379346006592

Ahmed
08.12.2016
15:03:14
Ребята, кто делал простую Ajax загрузку товаров из БД? Есть у кого примеры как это делать?

Denis
08.12.2016
15:03:35
На бэкенде REST?

Ahmed
08.12.2016
15:05:14
На бэкенде REST?
Да на бэкенде

Denis
08.12.2016
15:05:33
А на фронтенде что?

Ahmed
08.12.2016
15:06:42
А на фронтенде что?
С бэкенда берет данные и грузит их через Ajax. На front-end'е просто html теги для товара

Denis
08.12.2016
15:07:19
Ajax делается с использованием javascript. Там может быть голый js, jquery, фреймворк какой-нибудь

Alexander
08.12.2016
15:07:29
Подскажите пожалуйста, недавно услышал про юниттесты, что они - маст хэв в большом скрипте. Где почитать про это, а то в интернет пишут так, будто все уже знают всё

Google
Zart
08.12.2016
15:08:19
большому скрипту - большой юниттест

Ahmed
08.12.2016
15:08:22
Ajax делается с использованием javascript. Там может быть голый js, jquery, фреймворк какой-нибудь
Такой вариант, как я понимаю Jquery? $(document).ready(function() { $('.load').bind('click', function() { var admin = 'admin' // Наши данные $.ajax ({ url: 'content.py', // Куда отправляем type: 'POST', // Метод отправки data: ({name: admin, number: 5}), // Какие данные отправляем dataType: 'html', // Тип передачи данных beforeSend: funcBefore, success: funcSuccess }); }); });

Denis
08.12.2016
15:08:51
Ну да, примерно так и делается

Alexander
08.12.2016
15:09:05
https://docs.python.org/3/library/unittest.html
? слона-то я и не приметил)

Спасибо

Dima
08.12.2016
15:10:25
у тебя assertIn...
и что? >>>> [xrange(10, 20)] in [[xrange(10, 20)]] False >>>> [1] in [[1], [2]] True

Ahmed
08.12.2016
15:10:37
Ну да, примерно так и делается
Пример бы какой-нибудь для Ajax + Django

Denis
08.12.2016
15:11:49
https://realpython.com/blog/python/django-and-ajax-form-submissions/

Johnnie
08.12.2016
15:12:09
как пичарм заставить вот такое from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy import Integer from sqlalchemy import func делать в такое from sqlalchemy import Column, DateTime, Integer, func

?

Denis
08.12.2016
15:12:37
Ну можно написать свой скрипт и забиндить его куда-нибудь

Zart
08.12.2016
15:12:39
Johnnie
08.12.2016
15:12:56
Denis
08.12.2016
15:13:06
Что-то вроде optimize imports там было

Не знаю, то или нет

Johnnie
08.12.2016
15:13:33
это оно так и делает(

Страница 897 из 1885

Эта группа больше не существует Эта группа больше не существует