
Pavel
29.11.2017
11:07:52

kidig
29.11.2017
11:08:56

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
все это в документации есть, тутор тоже имеет смысл пройти

Vitaly
29.11.2017
11:27:49

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

Vitaly
29.11.2017
11:32:06

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

Google

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

Bogdan
29.11.2017
12:26:43

Rookie
29.11.2017
12:44:28

X
29.11.2017
12:46:51

b0g3r
29.11.2017
12:47:06

Admin
ERROR: S client not available

Rookie
29.11.2017
12:48:28

b0g3r
29.11.2017
12:48:41

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

Igor
29.11.2017
13:51:01
ребят какой командой на проде нужно запускать воркера селери, если он в вирт окружении?
command=source /home/atc_home/bin/activate && celery worker -A atc -l info
делаю в убунту так, но что то не хочет

Vlad
29.11.2017
13:52:37

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:00:23

Дмитрий
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