Size: a a a

Django [ru] #STAY HOME

2019 October 08

DT

Dan Tyan in Django [ru] #STAY HOME
Valera
А ты не подскажешь, елси фронт - то для быстрой и хорошей работы, подойдет какой-нибдуь из фреймворков? типа реакт, vue мб
бери любой
какой лучше знаешь
источник

f

f1nnix in Django [ru] #STAY HOME
Подскажите, плиз, почему такое может быть?
(Pdb) user.user_permissions.all()[0].__dict__
{'_state': <django.db.models.base.ModelState object at 0x112b5d250>, 'id': 65, 'name': 'Recieve email updates for Post', 'content_type_id': 16, 'codename': 'recieve_post_email_updates'}

(Pdb) user.has_perm('main.recieve_post_email_updates')
False


Юзер активен.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
f1nnix
Подскажите, плиз, почему такое может быть?
(Pdb) user.user_permissions.all()[0].__dict__
{'_state': <django.db.models.base.ModelState object at 0x112b5d250>, 'id': 65, 'name': 'Recieve email updates for Post', 'content_type_id': 16, 'codename': 'recieve_post_email_updates'}

(Pdb) user.has_perm('main.recieve_post_email_updates')
False


Юзер активен.
recieve_post_email_updates точно в аппке main ?
источник

f

f1nnix in Django [ru] #STAY HOME
Dan Tyan
recieve_post_email_updates точно в аппке main ?
Ага. main.models.Post.Meta.
источник

U

UUID8 in Django [ru] #STAY HOME
у django стандартная модель django_session. Можно ли через OneToOne ее разширить?
Вот auth_user так подключаю:
from django.contrib.auth.models import User

Потом через OneToOne разширяю.

Мне просто к сесии IP клиента нужно привязать.
источник

U

UUID8 in Django [ru] #STAY HOME
UUID8
у django стандартная модель django_session. Можно ли через OneToOne ее разширить?
Вот auth_user так подключаю:
from django.contrib.auth.models import User

Потом через OneToOne разширяю.

Мне просто к сесии IP клиента нужно привязать.
from django.contrib.sessions.models import Session
вроде нашел
источник

f

f1nnix in Django [ru] #STAY HOME
Dan Tyan
recieve_post_email_updates точно в аппке main ?
Пермишшны я добавляю программно, в тесте. И из теста запрашиваю фнукцию, которая запрашивает права.
@pytest.mark.django_db
def test_can_recieve_notification_permission(post_email_permission, comment, users):
   user = users[-1]
   assert _can_recieve_notification(user, comment) == False

   user.user_permissions.add(post_email_permission)
   assert _can_recieve_notification(user, comment) == True

def _can_recieve_notification(user: User, comment: Comment) -> bool:
   if not user.has_perm(RECIEVE_NOTIFICATIONS_PERMISSION):
       return False


Есть подозрение, что эта нашлепка для pytest заворачивает весь тест в транзакцию, и когда функция _can_recieve_notification вызывает hast_perm, реальной записи в БД нет, хотя права на уровне ORM в менеджере якобы существуют.
источник

ДМ

Дмитрий Моцик in Django [ru] #STAY HOME
Ребят, как отправить xls в django response или что я делаю не так ?
        response = HttpResponse(f.content, content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
       response['Content-Disposition'] = "attachment; filename={!s}.xlsx".format(f.name)

где f.content - быйты из открытого .xlsx файла, через f.read()
источник

A

Andrey in Django [ru] #STAY HOME
Дмитрий Моцик
Ребят, как отправить xls в django response или что я делаю не так ?
        response = HttpResponse(f.content, content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
       response['Content-Disposition'] = "attachment; filename={!s}.xlsx".format(f.name)

где f.content - быйты из открытого .xlsx файла, через f.read()
а можно узнать почему именно так нужно?
мне кажется проще nginxом отдать файл
источник

ДМ

Дмитрий Моцик in Django [ru] #STAY HOME
Andrey
а можно узнать почему именно так нужно?
мне кажется проще nginxом отдать файл
Файл в базе хранится, я по ключику из урла достаю из базы и потом отправляю
источник

ДМ

Дмитрий Моцик in Django [ru] #STAY HOME
В базу екселина в другом месте записывается
источник

A

Andrey in Django [ru] #STAY HOME
Дмитрий Моцик
Файл в базе хранится, я по ключику из урла достаю из базы и потом отправляю
у файла есть такое поле, как url
источник

A

Aquinary in Django [ru] #STAY HOME
Использует кто vagrant вместо docker?
источник

ДМ

Дмитрий Моцик in Django [ru] #STAY HOME
Andrey
у файла есть такое поле, как url
не понял
источник

A

Andrey in Django [ru] #STAY HOME
ну ведь этот файл - поле модели, правильно?
источник

ДМ

Дмитрий Моцик in Django [ru] #STAY HOME
Andrey
ну ведь этот файл - поле модели, правильно?
Да, в поле модели хранится файл
источник

A

Andrey in Django [ru] #STAY HOME
Дмитрий Моцик
Да, в поле модели хранится файл
там есть аттрибут url)
по этому полю файл скачивается и ничего писать в респонс не надо :)
источник

A

Alex in Django [ru] #STAY HOME
Aquinary
Использует кто vagrant вместо docker?
это разные инструменты, смотря что тебе нужно: контейнеры или виртуализация
источник

ДМ

Дмитрий Моцик in Django [ru] #STAY HOME
Andrey
там есть аттрибут url)
по этому полю файл скачивается и ничего писать в респонс не надо :)
А понял тебя, не, у меня там поле модели models.BinaryField()
источник

A

Andrey in Django [ru] #STAY HOME
Дмитрий Моцик
А понял тебя, не, у меня там поле модели models.BinaryField()
ух
странное решение, но видимо так нужно было)
источник