@pydjango

Страница 759 из 1273
Pavel
29.11.2017
11:07:52
А в основном за разные блоки (меню, футер...) используют app?
за разные функциональные блоки (новости, форум, авторизация, витрина магазина) а не за дизайн.

kidig
29.11.2017
11:08:56
А в основном за разные блоки (меню, футер...) используют app?
для этого не нужен апп, это всё решается шаблонами. на официальном сайте есть базовый туториал - посмотри как всё устроено.

Bogdan
29.11.2017
11:10:00
Спс

Alexander
29.11.2017
11:14:07
Спс
app нужен для разного функционала, например для корзины интернет магазина есть смысл создать оптдельный апп, или например для оформления заказа. Если в магазине предусмотрены купоны, функционал обеспечивающий их работу лучше так же вынести в апп. Футер меню и тд реализуется за счет шаблонов {%block name%}{%endblock%} В базовом шаблоне блоками размечаются места где будет меню и прочие элементы а потом для отдельных страниц просто заполняются блока дополнительными файлами шаблонов

Google
Bogdan
29.11.2017
11:17:39
А как подключить в templates папку templete для каждого приложения что бы не прописывать os.path.join(BASE_DIR, "template_name") для каждого app

vadim
29.11.2017
11:20:27
разрулилванием путей к шаблонам (и в сборке статики) занимаются finder ы они прописываются в настройках один из файндеров - рыскает по всем аппам прописанным в INSTALLED_APPS

и ищет

templates/ папку

еще один смотрит пути что ты руками задал

можешь при желании свой написать будет подтягивать шаблоны из bitbucket или CDN

Bogdan
29.11.2017
11:23:13
А если названия файлов html в разных папках одинаковые, что будет тогда?

vadim
29.11.2017
11:23:25
в django

очень важен порядок

какой первый файндер сработает

тот и выдаст

какой первый апп совпадет

тот и выдаст

Google
Bogdan
29.11.2017
11:24:27
А можно ли как то выставить приаритеты?

vadim
29.11.2017
11:24:41
у тебя список там

amureki
29.11.2017
11:24:48
тот и выдаст
Пожалуйста, сначала составь полное предложение или вопрос А потом напиши одним сообщением

vadim
29.11.2017
11:24:52
первый в списке - есть превый

Bogdan
29.11.2017
11:25:24
Все понял спасибо!

vadim
29.11.2017
11:25:51
все это в документации есть, тутор тоже имеет смысл пройти

vadim
29.11.2017
11:29:17
есть же батарейки с массовым аплоадом с порядком только не помню есть или нет... ну тогда придется ее ковырять и добавлять в js порядок

Vitaly
29.11.2017
11:32:06
html5 туторов полно там можно аяксом пулять файлы ну и пуляем файл с определенным индексом или 2-й вариант вместе с файлом josn или post где имени файлу позиция
то есть у меня несколько хитрая задача. есть модель, у которой есть JSON поле, которое хранит пусть файла в S3. то есть, хочется сделать такую штуку в админке, чтобы была форма заливания файлов, но при этом, они бы они сохранялить как json поле

X
29.11.2017
11:52:11
Привет сообщество. Вопрос следующий есть класс, когда я вызываю его метод из вне и передаю туда данные их нужно переприсваивать внутренней переменной класса, как то сделать автоматом при вызове функции из вне?

ros
29.11.2017
11:53:53
self.foo = foo некошерно?

X
29.11.2017
11:53:53
class A: def init(self): self.a = None def one(self, data): self.a = data blablabla def two(self, data): self.a = data blablabla def three(self, data): self.a = data blablabla

self.a из каждого метода автоматизировать

ros
29.11.2017
11:54:27
декоратор навесить

X
29.11.2017
11:54:33
,tp yb[

без них

думал об этом

есть еще какие хитрые варианты?

Bogdan
29.11.2017
11:55:29
self._set_a(data) ?

Google
X
29.11.2017
11:56:23
это внутренний метод?

Bogdan
29.11.2017
11:57:21
да, protected типа. можно __set_a(), тогда будет реально приватный

X
29.11.2017
11:57:32
а смысл его

Bogdan
29.11.2017
11:57:52
или вы в смысле самим писать его или он готовый?

X
29.11.2017
11:57:57
не понял тогда немного, поясните пожалуйста

ну я думал это, что то готовое

Bogdan
29.11.2017
12:00:08
вы зачем то хотите заменить 1 простую строчку кода. декоратор не нравится, я предложил обернуть в метод, подразумевая, что это видимо не просто self.a = arg1, а что-то сложнее. так как смысла выносить 1 простую строку нет ни какого.

можно переопределить магический метод еще, но это того не стоит

X
29.11.2017
12:01:25
явное лучше не явного)))

простое лучше сложного?))

Спасибо за содействие

Jentry
29.11.2017
12:02:52
Декоратор самоеиявное и простое

Bogdan
29.11.2017
12:03:19
простое лучше сложного?))
ага. выделять 1 строку стоит, когда это вызов не влезающий в ширину экрана. а так лучше покопировать. все равно эта 1 строка уйдет на вызов обертки/декокатора и тд

Jentry
29.11.2017
12:04:41
Не лучше, если ему нужно будет изменить или отключить это необходимо будет N изменений вместо 1

X
29.11.2017
12:04:59
конечно можду стелать пустышку декоратор

а тут уже legacy код

и удалять н строк в ide не проблема

спасибо еще раз всем откликнувшимся!

Igor
29.11.2017
12:23:17
а можно как то так: def compress_image(self, field_name): - при обьявлении self.compress_image('avatar') - при вызове self.{field_name} - при обрацении в методе?
Понял как можно: self.__getattribute__('field_name') - что бы получить свойство обьекта self setattr(self, 'field_name', 'value') - что бы поставить новое значение поля =))

Google
vadim
29.11.2017
12:23:31
monkey patching можно еще )

Rookie
29.11.2017
12:44:28
я просто прицепил webpack
А я нашёл чудесную тулзу на базе libsaas + compressor Делает чуть более того, что надо мне.

Admin
ERROR: S client not available

Rookie
29.11.2017
12:48:28
а шо ж не getattr?
Это когда не хочу питон, хочу сразу джанго

Vadim
29.11.2017
13:00:44
Rookie
29.11.2017
13:02:40
думаю возможно
Миддл контралцэ девелоперы, да, бывают.

Дмитрий
29.11.2017
13:21:04
А можно ли как-то без csrf токена чекать метод POST? А то ругается на это

CSRF_USE_SESSIONS да?

что нашёл

Евгений
29.11.2017
13:23:21
from django.views.decorators.csrf import csrf_exempt

Дмитрий
29.11.2017
13:24:20
спасибо большое!

Bob
29.11.2017
13:47:16
спасибо большое!
Для CBV - @method_decorator(csrf_exempt)

Igor
29.11.2017
13:51:01
ребят какой командой на проде нужно запускать воркера селери, если он в вирт окружении?

command=source /home/atc_home/bin/activate && celery worker -A atc -l info делаю в убунту так, но что то не хочет

Igor
29.11.2017
13:54:25
в логи ничего не выдает

Google
Гийденко
29.11.2017
13:55:20
такой вопрос. нужно мне сделать авторизацию через json для клиента на python. Делаю на базе sessionID который возвращается на клиента для дальнейшей работы. Но попался косяк один. Может подскажете как исправить косяк или сделать иначе? Вот так выглядит вьюшка логина ... def post(self, request, *args, **kwargs): # тут просто достаем json ил requests data = json.loads(request.body.decode("utf-8")) # авторизация user = authenticate(username=data.get('username'), password=data.get('password')) if user: # если авторизирован то создаем сессию login(request, user) return JsonResponse(dict( accept=True, keys={ # тут отправляем id сессии обратно settings.SESSION_COOKIE_NAME: request.session.session_key, }, ), status=200 ) else: .... проблема в том что после команды login ключ в request.session.session_key иногда норм а иногда там None. Вопрос - как же мне гарантировать всегда валидный ключ после логина ИЛИ как можно еще сделать авторизацию через json? Спасибо PS. чую гдето просто протупил но не пойму где свернул не туда

Vlad
29.11.2017
13:57:04
в логи ничего не выдает
хм, уверен что он не стартанул?

Дмитрий
29.11.2017
14:13:08
есть у кого предположения что может происходит на прод сервере. Когда я подсоединился к серверу и запустил его через python manage runserver 0.0.0.0:8001 &

затем нажал ctr c

стоп, до нажатия клавиш ctr c я отправлял нормально запросы post'om и получал ответы, а затем, как я прервал соединение либо отключил это затем при отправке я получал уже ответ, который я как-будто отправлял get'ом

вроде я перепроверил всё)

но хз что за бага

а всё

дурак)

хотя нет,

я хз что происходит с этой штукенциеей

это как)

tinium
29.11.2017
14:20:11
just use docker, bro

Дмитрий
29.11.2017
14:20:31
I noob bro)

especially in Docker

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