Size: a a a

Django [ru] #STAY HOME

2019 November 30

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Roman Nedobytko
Всем привет, как отфильтровать обекты модели по правам юзера, думал юзать Manager переопределить object в модели но бесить что в каждом запросе нужно юзера передавать типу all(user), get(user) можна как то по елегантнее сделать?
MyModel.objects.filter(user__is_admin=True)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Roman Nedobytko
Всем привет, как отфильтровать обекты модели по правам юзера, думал юзать Manager переопределить object в модели но бесить что в каждом запросе нужно юзера передавать типу all(user), get(user) можна как то по елегантнее сделать?
а как модель или манагер должен узнавать пользователя ?
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Roman Nedobytko
Всем привет, как отфильтровать обекты модели по правам юзера, думал юзать Manager переопределить object в модели но бесить что в каждом запросе нужно юзера передавать типу all(user), get(user) можна как то по елегантнее сделать?
источник

M

Mike in Django [ru] #STAY HOME
Привет.  Использую Alllauth. Нужно чтоб пользователь не мог зайти пока не подтвердит email.
Установил эти настройки
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
LOGIN_REDIRECT_URL = '/'
ACCOUNT_EMAIL_VERIFICATION='mandatory'
ACCOUNT_AUTHENTICATION_METHOD = "username_email"
ACCOUNT_EMAIL_REQUIRED = False
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
ACCOUNT_USERNAME_REQUIRED = True

но получаю `    from . import app_settings, signals
 File "/home/mikefromru/scripts/apps/ef/env/lib/python3.8/site-packages/allauth/account/app_settings.py", line 324, in <module>
   app_settings = AppSettings('ACCOUNT_')
 File "/home/mikefromru/scripts/apps/ef/env/lib/python3.8/site-packages/allauth/account/app_settings.py", line 26, in init
   assert (self.EMAIL_VERIFICATION !=
AssertionError`
В чём дело?
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Mike
Привет.  Использую Alllauth. Нужно чтоб пользователь не мог зайти пока не подтвердит email.
Установил эти настройки
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
LOGIN_REDIRECT_URL = '/'
ACCOUNT_EMAIL_VERIFICATION='mandatory'
ACCOUNT_AUTHENTICATION_METHOD = "username_email"
ACCOUNT_EMAIL_REQUIRED = False
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
ACCOUNT_USERNAME_REQUIRED = True

но получаю `    from . import app_settings, signals
 File "/home/mikefromru/scripts/apps/ef/env/lib/python3.8/site-packages/allauth/account/app_settings.py", line 324, in <module>
   app_settings = AppSettings('ACCOUNT_')
 File "/home/mikefromru/scripts/apps/ef/env/lib/python3.8/site-packages/allauth/account/app_settings.py", line 26, in init
   assert (self.EMAIL_VERIFICATION !=
AssertionError`
В чём дело?
вообще, обычно юзают поле is_active у юзера, стандартный Auth модуль не позволяет юзерам логиниться если акк не активен
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Mike
Привет.  Использую Alllauth. Нужно чтоб пользователь не мог зайти пока не подтвердит email.
Установил эти настройки
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
LOGIN_REDIRECT_URL = '/'
ACCOUNT_EMAIL_VERIFICATION='mandatory'
ACCOUNT_AUTHENTICATION_METHOD = "username_email"
ACCOUNT_EMAIL_REQUIRED = False
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
ACCOUNT_USERNAME_REQUIRED = True

но получаю `    from . import app_settings, signals
 File "/home/mikefromru/scripts/apps/ef/env/lib/python3.8/site-packages/allauth/account/app_settings.py", line 324, in <module>
   app_settings = AppSettings('ACCOUNT_')
 File "/home/mikefromru/scripts/apps/ef/env/lib/python3.8/site-packages/allauth/account/app_settings.py", line 26, in init
   assert (self.EMAIL_VERIFICATION !=
AssertionError`
В чём дело?
EMAIL BACKAND зря сделал, он по дефолту такой идёт
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
вообще, обычно юзают поле is_active у юзера, стандартный Auth модуль не позволяет юзерам логиниться если акк не активен
при реге проставляешь его на False, после активации меняй на True и логинь/редиректи на логин
источник

M

Mike in Django [ru] #STAY HOME
Тоесть эти настройки мои они паражниковые? бесполезные?
Как мне установить False?
источник

M

Mike in Django [ru] #STAY HOME
а ну я понял про user.is_active = False
источник

M

Mike in Django [ru] #STAY HOME
и после того как жмякнул кнопочку поддвердить емайл, я отправляю True to is_active ? right?
источник

M

Mike in Django [ru] #STAY HOME
он наверно я сам меняется, да?
источник

M

Mike in Django [ru] #STAY HOME
мне не нужно будет самому менять это значение?
источник

A

AstralRomance in Django [ru] #STAY HOME
Хочу сделать такой функционал: при открытии товара, есть кнопки "добавить в корзину" и "обменять". С первой все понятно, а вторая должна закинуть на страницу заявки на обмен (страница с текстовыми полями). Как это лучше сделать? Просто форму с одной кнопкой?
источник

S

Shodmon in Django [ru] #STAY HOME
AstralRomance
Хочу сделать такой функционал: при открытии товара, есть кнопки "добавить в корзину" и "обменять". С первой все понятно, а вторая должна закинуть на страницу заявки на обмен (страница с текстовыми полями). Как это лучше сделать? Просто форму с одной кнопкой?
Задачу по четче опишите, что за обмен? Что за текстовые поля? С какими данными вас должно закинуть туда? И тп
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Mike
и после того как жмякнул кнопочку поддвердить емайл, я отправляю True to is_active ? right?
да
источник

A

AstralRomance in Django [ru] #STAY HOME
Shodmon
Задачу по четче опишите, что за обмен? Что за текстовые поля? С какими данными вас должно закинуть туда? И тп
Пользователь переходит на страницу товара, нажимает кнопку "обменять".
Его должно перекинуть на страницу заявки на обмен, которая должна знать, откуда он нажал эту кнопку (т.е. какой товар он хотел получить). На странице заявки должны быть поля типа "название", "выпуск" и т.д. Речь идет об обмене коллекционных карт.
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Mike
мне не нужно будет самому менять это значение?
делаешь урл с токеном и зашифрованным id юзера и там меняешь если id и токен валидны, после сохранения юзера, редиректишь куда нибудь
источник

M

Mike in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
делаешь урл с токеном и зашифрованным id юзера и там меняешь если id и токен валидны, после сохранения юзера, редиректишь куда нибудь
урл у меня есть с токеном, но как зашифровать id ?
источник

RN

Roman Nedobytko in Django [ru] #STAY HOME
Dan Tyan
а как модель или манагер должен узнавать пользователя ?
може є якесь решение другое
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Mike
урл у меня есть с токеном, но как зашифровать id ?
энкод
from django.utils.http import urlsafe_base64_encode
from django.utils.encoding import force_bytes
id = urlsafe_base64_encode(force_bytes(user.pk)).decode()


декод
from django.utils.encoding import force_text
from django.utils.http import urlsafe_base64_decode

id = force_text(urlsafe_base64_decode(id_uidb64))
источник