Size: a a a

Django [ru] #STAY HOME

2020 May 27

m

master-mn in Django [ru] #STAY HOME
tot samiy neizvestniy
А зачем .name?
это скопипастил из консоли
в settings.py у меня вот:

INSTALLED_APPS = [
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'django.contrib.sites',
   'django.contrib.humanize',

   # 'debug_toolbar',

   'mptt',
   'ckeditor',
   'crispy_forms',
   'django_countries',
   'phonenumber_field',
   'languages',
   # 'allauth',
   # 'allauth.account',
   # 'allauth.socialaccount',
   # ... include the providers you want to enable:
   # 'allauth.socialaccount.providers.facebook',
   # 'allauth.socialaccount.providers.twitter',
   # 'allauth.socialaccount.providers.google',
   # 'allauth.socialaccount.providers.instagram',

   
   'apps.menu.apps.MenuConfig',
   
]

приложение menu свеже созданная, в ней ни строчки кода не написанно
источник

KV

Konstantin Vinogrado... in Django [ru] #STAY HOME
master-mn
from django.apps import AppConfig


class MenuConfig(AppConfig):
   name = 'menu'
name = 'apps.menu'

сделай так.
первый результат в гугле....
источник

m

master-mn in Django [ru] #STAY HOME
tot samiy neizvestniy
Хреновая практика все в apps ложить
почему хреновая практика?
источник

m

master-mn in Django [ru] #STAY HOME
Konstantin Vinogradov
name = 'apps.menu'

сделай так.
первый результат в гугле....
спасибо, помогло
источник

KV

Konstantin Vinogrado... in Django [ru] #STAY HOME
master-mn
спасибо, помогло
Спасибо гуглу и стаковерфлоу
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
master-mn
почему хреновая практика?
Потому что, как минимум, ложить невозможно. Можно класть.
источник

m

master-mn in Django [ru] #STAY HOME
)
источник

K

Koote in Django [ru] #STAY HOME
подскажите а юзать .env файлы в джанге нормальная практика или есть другой более верный путь ?
источник

ДФ

Дмитрий Федорченко... in Django [ru] #STAY HOME
Alex Dem
В любом случае, джанго прогоняет пароль через хэш-функцию, насколько мне известно, и полученный хэш десериализации не подлежит в принципе, если бы использован дефолтный хешер, т.е. буквально, хэш-функции писались как раз таким образом, чтобы это невозможно было сделать.

Для решения такой интересной задачи надо писать свой Auth backend и хранить пароль либо в открытом виде, либо в каком-то виде который подлежит дешифровке

Или переписать .set_password() метод User модели с помощью super(), чтобы он отдельно где-то сохранял пароль в любом удобном виде до хеширования

Или использовать кастом "хешер" который умеет обратную сериализацию

https://github.com/django/django/blob/62f1655a64795d055f72e53557fb8404c5430963/django/contrib/auth/hashers.py#L64
—> def make_password(password, salt=None, hasher='default'):

Но я бы предпочел уволиться после такой таски, нафиг надо с такими людьми связываться ^^
А как тогда в кастомной форме регистрации пользователя добавить, чтобы Django прогоняло пароль через хеш?
источник

K

K in Django [ru] #STAY HOME
Koote
подскажите а юзать .env файлы в джанге нормальная практика или есть другой более верный путь ?
Вроде как именно туда и выносятся логин/пароль для связи с БД и всякие токены API
источник

AD

Alex Dem in Django [ru] #STAY HOME
Дмитрий Федорченко
А как тогда в кастомной форме регистрации пользователя добавить, чтобы Django прогоняло пароль через хеш?
джанго и так по дефолту прогоняет, иначе бы ты не столкнулся со своей проблемой

https://docs.djangoproject.com/en/3.0/topics/auth/passwords/

(хешеры идут не в форме, они бъявляются глобально)
источник

AD

Alex Dem in Django [ru] #STAY HOME
Дмитрий Федорченко
А как тогда в кастомной форме регистрации пользователя добавить, чтобы Django прогоняло пароль через хеш?
самый простой способ сделать override .set_password()
источник

ДФ

Дмитрий Федорченко... in Django [ru] #STAY HOME
источник

ДФ

Дмитрий Федорченко... in Django [ru] #STAY HOME
источник

ДФ

Дмитрий Федорченко... in Django [ru] #STAY HOME
по дефолту не кеширует почему-то
источник

AD

Alex Dem in Django [ru] #STAY HOME
1. кеширование и хэширование абсолютно разные понятия
источник

AD

Alex Dem in Django [ru] #STAY HOME
2. Хеширование происходит на бекенде перед записью в базу
источник

AD

Alex Dem in Django [ru] #STAY HOME
если ты не сам ввел '123', а данные загрузились с серва, то у тебя уже хранится пароль в открытом виде

(во всяком случае, на это очень похоже)
источник

KS

Kirill Sosnovskii in Django [ru] #STAY HOME
У меня есть определение переменных css  
--ang: 45deg;
--count: 3;
Они используются ниже в css теге, типа var(...)
Куда их определение лучше всего засунуть в шаблоне html? Определение этих переменных может находиться в том же css теге?
Как лучше сделать - подставлять {{ colour_from_context }} в определение переменной (—ang: {{ }}deg), или сразу подставлять в css (так можно?), например:
background-image: linear-gradient({{ ...}}deg, {{ colour1 }}, {{ colour2 }});
источник

LJ

Lyndon Johnson in Django [ru] #STAY HOME
Салют всем.  У меня таки возник вопрос зачем нужен XML и JSON? С JSON ещё более менее понятно, для передачи данных, но я не совсем понимаю какие реальные кейсы используют и то и другое.
источник