"Вопросы и ответы" Django и Python, страница 20

04.02.2025
Модульное тестирование Amazon SES в Django: электронные письма не отправляются

Создание модульных тестов для Amazon Simple Email Service (SES) для приложения Django с использованием пакета django-ses test_mail.py from django.core import mail ... def test_send_direct_email(send_ct): from_email = settings.SERVER_EMAIL to_email = [nt[2] for nt in settings.NOTIFICATIONS_TESTERS] …

04.02.2025
Gmail Oauth2 - ограничьте область действия только электронными письмами из определенного домена

У меня есть сайт на Django, который использует Google Oauth2, чтобы позволить пользователям предоставлять доступ для чтения своих электронных писем и ответа на них. GOOGLE_OAUTH2_CREDENTIALS = { 'client_id': '********************', 'client_secret': '*******', 'scope': [ 'https://www.googleapis.com/auth/gmail.readonly', 'https://www.googleapis.com/auth/gmail.send' ], 'redirect_uri': 'https://www.********.com/*****/', …

04.02.2025
Как отфильтровать данные, полученные с помощью аннотации?

Есть "изображения", которые привязаны к "объектам" через внешний ключ, их может быть несколько на каждом "объекте". Есть "объекты", которые также привязаны к "объектам" через внешний ключ. Как прикрепить к "теме" одно изображение из "объекта", заметил "select=1"? С помощью аннотации я …

04.02.2025
CSV TimedRotatingFileHandler не вращает файлы по времени

Нам нужно выполнить запрос для нашего приложения на Python (версия 3.11.7), Django (версия 3.2.23), для регистрации определенных событий, связанных с безопасностью, в файле csv, который будет обновляться ежечасно и будет иметь имя, подобное audit_logs20250130_0800-0900.csv. Наш серверный модуль Django запущен в …

04.02.2025
Как воссоздать базу данных для каждого тестового примера Django?

Я хочу написать тестовые примеры для django, которые используют базу данных и изменяют ее записи. Я хочу создавать новую базу данных для каждого теста. Как мне заставить django удалять всю базу данных после каждого тестового примера (либо для каждой функции, …

04.02.2025
Django не загружает файлы изображений со статическим

Я работаю с Django, и он не загружает никаких файлов изображений, но загружает мои CSS-файлы в ту же область каталога. HTML-страница <!DOCTYPE html> <html lang="en"> {% load static %} <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="{% …

04.02.2025
Изменение конфигурации среды выполнения Django и AWS Lambda

У меня есть бизнес-приложение, написанное на Django, где у каждого клиента должна быть совершенно отдельная среда, включая: Отдельная схема базы данных Отдельный экземпляр Redis Отдельный пакет S3 и т.д. Однако я хочу развернуть один экземпляр приложения на AWS Fargate или …

04.02.2025
Фреймворк Django REST: Пользовательское действие (POST) без сериализатора

Я использую Django REST Framework (DRF) и у меня есть ModelViewSet с пользовательским действием (@action) для отмены заказа. Действие отмены не требует использования сериализатора, поскольку оно только изменяет базу данных и возвращает ответ. Однако, когда я устанавливаю serializer_class = None, …

04.02.2025
Как отправить изображения в виде двоичных данных с запросом

Вот что у меня есть models.py class Post(models.Model): id = models.AutoField(primary_key=True) text = models.TextField(max_length=165) author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return f'{self.author} posts "{self.text}"' class Images(models.Model): id = models.AutoField(primary_key=True) image = models.ImageField(upload_to='images/') post_id = models.ForeignKey(Post, on_delete=models.CASCADE) def …

04.02.2025
Сохранение формы модели django в базе данных моделей

Следующий код не сохраняется в базе данных, код хорошо работает в shell. все в порядке, но не сохраняется в базе данных.может ли кто-нибудь разобраться в этом? def loginapp(request): if request.method == "POST": form=LoginInterfaceForm(request.POST) if form.is_valid(): form.clean() login = form.save(commit=False) login.save( …

04.02.2025
Как войти в функцию в точке останова python в терминале

Я пытаюсь войти в функцию, которую я вызвал в своем коде, но в терминале pdb просто выполняет это следующим образом, которым я делюсь с вами: -> def get_context_data(self, *args, **context): (Pdb) n --Return-- > d:\rebound\rebound\modules\blog\views.py(135)PostDetail()-><cell at 0x00...1DA4A0: empty> -> def …

03.02.2025
Разверните набор QuerySet со всеми связанными объектами

Class Hobby(models.Model): name = models.TextField() class Person(models.Model): name = models.TextField() created_at = models.DateTimeField(auto_now_add=True) hobbies = models.ManyToManyField(Hobby, related_name='persons') class TShirt(models.Model): name = models.TextField() person = models.ForeignKey( Person, related_name='tshirts', on_delete=models.CASCADE, ) class Shirt(models.Model): name = models.TextField() person = models.ForeignKey( Person, …

03.02.2025
Могу ли я использовать djangos admin для пользователей также, я строю algo торгового бота в django [закрыто]

В настоящее время я создаю алгоритмического торгового бота на Django, и я не ожидаю большого количества пользователей - в основном только я и несколько моих друзей. Учитывая это, нужно ли мне реализовывать собственные шаблоны для пользовательских интерфейсов, или я …

03.02.2025
Пагинация Queryset в websocket django rest framework [закрыто]

У меня есть вебсокет в моем проекте django drf и функция, которая должна читать все объекты Notification из базы данных и возвращать их через сериализатор, как показано ниже : @database_sync_to_async def get_all_notifications(self): paginator = CustomPageNumberPagination() notifications = …

03.02.2025
Как создать тип graphql для модели django, которая имеет поля типа «многие-ко-многим

У меня есть модель django с именем profiles. В ней есть несколько базовых полей и поле followers (многие-ко-многим). Это поле содержит список последователей и следующих за ними людей class Profile(models.Model): user = models.OneToOneField( User, on_delete=models.CASCADE) birth_date = models.DateField( null=True, …

03.02.2025
Улучшить структуру запроса или как я могу использовать префетч, связанный с

У меня возникла ситуация, и я не могу придумать, как использовать prefetch_related или улучшить структуру моего запроса, вот сценарий - rows = DocumentRows.objects.filter(item=item_id).values_list("document", flat=True) qs = Document.objects.filter(id__in = rows) return qs Документ содержит ID и другую информацию, связанную …

03.02.2025
WebSocket возвращает 200 вместо 101 с Apache2: как правильно настроить прокси для работы с WebSocket?

Я пытаюсь настроить Apache2 на проксирование WebSocket-трафика для своего приложения, но сталкиваюсь с проблемой, когда WebSocket-соединение возвращает статус 200 вместо ожидаемого кода состояния 101. У меня следующая конфигурация в файле default-ssl.conf для SSL и WebSocket proxy: ServerName <domain> <IfModule mod_ssl.c> …

03.02.2025
Почему я получаю ошибку 404 с /None, добавленной к URL в моем приложении Django? [закрыто]

Похоже, что после каждого успешного запроса к правильному URL (например, /tasks/manager-dashboard/, /users/admin/dashboard/ и т. д.), выполняется дополнительный запрос к тому же URL, но с добавлением None в конце (например, /tasks/manager-dashboard/None). В результате получается 404 Not Found error. Почему все …

03.02.2025
Докеризованный администратор Django не справляется

Я понятия не имею, куда идти с этим, поскольку это глубоко в шаблонах администратора. Я ничего из этого не трогал, разумеется. Это проект, который я перевожу на контейнер django. Он работал на виртуальной машине просто отлично. Полные логи сервера …

03.02.2025
Django daphne ModuleNotFoundError docker error

Я получил эту ошибку «ModuleNotFoundError: Нет модуля с именем 'project'» при контаризации моего веб-приложения. Я использовал Django с daphne. мои настройки здесь: Dockerfile: FROM python:3.11-slim RUN apt-get update && apt-get install -y \ libpq-dev gcc curl \ && apt-get …

02.02.2025
Как настроить nginx для django с gunicorn?

Есть такой файл настроек nginx: # Default server configuration server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; # server_name _; server_name amodule.su www.amodule.su; …

02.02.2025
Не применяются стили CSS в проекте Django

Создаю проект на Django. home.html закинул в templates, а style.css поместил в папку css, которую же поместил в templates. Почему-то стили не применяются. HTML: <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Главная - Школа</title> <link rel="stylesheet" …

02.02.2025
Ошибка слишком большого количества перенаправлений, mod_wsgi apache и django (python-venv)

У меня проблема, с django и apache (mod_wsgi), я получаю ошибку браузера «слишком много перенаправлений». Вот мои файлы и конфигурация apache sito.urls from django.contrib import admin from django.urls import path, include urlpatterns = [ path('', include('sito.urls')), path('admin/', admin.site.urls), path('display_pingaction/', …

02.02.2025
Сохраните все объекты в QuerySet и связанные с ними объекты в приспособлении

Я написал функцию для сохранения QuerySet в JSON-файл с фиксацией: def save_as_fixture(query_set: QuerySet, fixture_name: str, app_label: str='mainapp'): app_config = apps.get_app_config(app_label) fixture_dir = os.path.join(app_config.path, "fixtures") os.makedirs(fixture_dir, exist_ok=True) fixture_path = os.path.join(fixture_dir, fixture_name) data = serializers.serialize("json", query_set, indent=2, use_natural_foreign_keys=True, use_natural_primary_keys=True) …

02.02.2025
Делает ли `.all()` в Django повторный запрос к базе данных или использует кэш?

Я получаю очень противоречивые сообщения. Из документации Django Queryset я читаю (https://docs.djangoproject.com/en/5.1/ref/models/querysets/#django.db.models.query.QuerySet.all): Когда QuerySet оценивается, он обычно кэширует свои результаты. Если данные в базе данных могли измениться с момента оценки QuerySet, вы можете получить …

02.02.2025
Фильтр по полю ManyToManyField, один способ

У меня есть модель с полем ManyToManyField: class Release(models.Model): #... bundled_releases = models.ManyToManyField("self", blank=True) def get_bundles(self): return Release.objects.filter(bundled_releases__in=[self.id]) Я хочу, чтобы get_bundles возвращал только релизы, имеющие self в полях bundled_releases, но таким образом, чтобы он …

02.02.2025
Django: настройка проекта/приложения для использования синтаксиса Jinja в постах Markdown

Я перевожу свой сайт с Eleventy на Django. В Eleventy я установил несколько пользовательских фильтров/шорткодов Nunjucks или как они там называются, чтобы я мог использовать Nunjucks для включения отзывчивых веб-изображений, а также пользовательского кода HTML медиаплеера для видеофайлов, вместо …

01.02.2025
Использование Oauth2+Django для получения разрешения на доступ к Gmail пользователя

Я использовал этот учебник: https://www.geeksforgeeks.org/python-django-google-authentication-and-fetching-mails-from-scratch/. Однако библиотека oauth2client устарела и к ней не обращались почти 9 лет. Я искал различные руководства, но они, похоже, написаны искусственным интеллектом; в них нет никакого смысла, и …

01.02.2025
Gmail Oauth2 - ограничение области применения только для писем из определенного домена [закрыто]

У меня есть Django-сайт, который использует Google Oauth2 для предоставления пользователям доступа к чтению и ответам на их письма. GOOGLE_OAUTH2_CREDENTIALS = { 'client_id': '********************', 'client_secret': '*******', 'scope': [ 'https://www.googleapis.com/auth/gmail.readonly', 'https://www.googleapis.com/auth/gmail.send' ], 'redirect_uri': 'https://www.********.com/*****/', } Однако …

01.02.2025
Переадресация портов Docker не работает приложение Django

У меня есть приложение Django, которое отлично работает локально, когда я запускаю его без контейнера. Однако, когда я контейнеризирую приложение, создаю образ и запускаю контейнер, приложение недоступно на проброшенном порту: http://localhost:8081 Когда я вхожу в контейнер и выполняю …

01.02.2025
Как уменьшить количество запросов в наборе запросов?

У меня есть следующие сериализаторы: class LiteratureProductSerializer(serializers.ModelSerializer): author = AuthorSerializer() binding = BindingSerializer() language = LanguageSerializer() genres = GenreSerializer(many=True) class Meta: model = LiteratureProduct fields = ('year_of_manufacture', 'pages', 'isbn', 'author', 'binding', 'language', 'genres') class AccessoryProductSerializer(serializers.ModelSerializer): manufacturer = ManufacturerSerializer() seria …

01.02.2025
URL-адрес NoReverseMatch с использованием Django

В настоящее время получаю ошибку NoReverseMatch и не уверен, почему. Вот сообщение об ошибке и соответствующий код: Ошибка: Ошибка при рендеринге шаблона В шаблоне C:....<Folder><Project>\userapp\templates\userapp\details.html, ошибка в строке 11 Отзыв для 'favorite' с аргументами '('',)' не найден. 1 шаблон(ы): …

01.02.2025
Django игнорирует значение DEBUG, когда я использую os.environ?

В настройках Django у меня следующее: в файле env.py у меня есть следующий код: os.environ.setdefault( «DEBUG», »True» ) В файле settings.py у меня есть следующий код: DEBUG = os.environ.get('DEBUG') == 'True' Однако некоторые системы не видны …

01.02.2025
При вызове метода из шаблона база данных запрашивается каждый раз?

Допустим, у вас есть следующий метод в модели: def get_images(self): return ReleaseImage.objects.filter(release=self.id) И вы вызываете его из шаблона следующим образом: {% if release.get_images %}{{ MEDIA_URL }}{{ release.get_images.first }}{% endif %} Запрашивается ли …

31.01.2025
Проблема с формой входа в Django: Форма недействительна, несмотря на правильные учетные данные

Я столкнулся с проблемой, связанной с моей формой входа в Django. Несмотря на предоставление правильных учетных данных, форма постоянно возвращается как недействительная. Вот подробное описание моей установки и проблемы, с которой я столкнулся. Описание Я использую AuthenticationForm от Django …

31.01.2025
Как заставить Pre-commit игнорировать недоступность элемента?

У меня есть этот конфиг в моем app.rb : from django.apps import AppConfig class WebsiteConfig(AppConfig): default_auto_field = "django.db.models.BigAutoField" name = "website" def ready(self): import website.signals Сайт «website.signals» недоступен (Pylance), потому что я использую docker. Когда будет запущен …

31.01.2025
Что касается form.save(commit=False), что я упускаю?

Как объясняется во многих постах, например, в следующем: Зачем мы используем «form.save(commit=False)» в Django-views? «Основной вариант использования - если у вас есть форма ModelForm, которая не содержит всех необходимых полей модели. Вам нужно сохранить эту форму …

31.01.2025
Прерывистая ошибка пулера на сервере приложений django

сталкиваюсь с периодическими Pooler Error: server conn crashed? в моем http-сервере. Пробовал искать и исправлять давно запущенные транзакции в моей системе, но это не помогло. Также это происходит очень случайно в любой момент времени без какой-либо связи с трафиком. …

31.01.2025
Django import-export импортирует несуществующие внешние ключи

В спешке мне трудно понять концепцию импорта. Где отсутствует окончательное создание доски? То есть Board(person=p, organization=p) Модель class Person(BaseModel): organizations = models.ManyToManyField("Organization", blank=True, through="Board") class Organization(BaseModel): people = models.ManyToManyField("Person", blank=True, through="Board") class Board(BaseModel): person = models.ForeignKey(Person, …

31.01.2025
Selenium: не работает нормально с докером

Я хочу запустить драйвер selenium chrome в моем проекте django с помощью конфигурации docker, поэтому я последовал этому: [https://hub.docker.com/r/selenium/standalone-chrome/][1] и я создал задачу celery, функциональность которой выглядит следующим образом: def setup_driver(): try: chrome_options = Options() chrome_options.add_argument("--disable-gpu") chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage") …