Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Specify in which order to apply filters in django_filters.FilterSet
Within a django_filters.FilterSet: class SomeFilter(django_filters.FilterSet): model = SomeModel fields = { "is_archived": ("exact",), } include_ancestors = django_filters.BooleanFilter(method="include_ancestors_filter") def include_ancestors_filter(self, queryset, name, value): pass how can I specify that the filter field include_ancestors should be applied after all other filter fields (e.g. is_archived)? This is needed in my case because including the ancestors depends on the result set (i.e. depends on what children have been included based on all other filters). -
How to implement recurring payments in Django using QuickBooks Payments (card-on-file vs vault token)?
I am building a Django-based subscription system and integrating it with QuickBooks Payments. My goal: Allow a customer to enter their credit/debit card details once. Store their card in a secure way. Charge them automatically every month (like Stripe Subscriptions). What I’ve tried so far: I can successfully create a Vault Token using the QuickBooks Payments API when a customer enters their card. I am able to make a one-time charge using that token. The problem: The Vault Token seems to be one-time only (not reusable for future charges). I want to know the correct way to store a card-on-file for recurring billing. Do I need to use the QuickBooks Customer API to attach the card permanently? Or is there a way to reuse the Vault Token for recurring charges? Django 5.2 Celery for scheduling monthly tasks QuickBooks Payments API (sandbox) I currently store: qb_customer_id, vault_token, last4, expiry dateyour text def charge_recurring_payment(access_token, realm_id, user, amount): url = "https://sandbox.api.intuit.com/quickbooks/v4/payments/charges" headers = { "Authorization": f"Bearer {access_token}", "Accept": "application/json", "Content-Type": "application/json" } payload = { "amount": str(amount), "currency": "USD", "cardOnFile": { "value": user.qb_vault_token, # <--- works once, fails later "type": "TOKEN" } } resp = requests.post(url, json=payload, headers=headers) return resp.json() How do I … -
django tenants seeing data in all schemas
So I migrated my app to django tenants, in my local, I don't have any issues, I create a tenant and I don´t see the same data as public, but in the prod environment I see the data from public schema, I checked the database and the tables of the domain that I created appart from public is empty. settings.py # Application definition SHARED_APPS = [ 'django_tenants', 'tenant_manager', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.postgres', 'django.contrib.sites', 'widget_tweaks', "django_tables2", 'django_filters', 'bot', 'CCDC' ] TENANT_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.postgres', 'django.contrib.sites', 'bot', ] INSTALLED_APPS = SHARED_APPS + [ app for app in TENANT_APPS if app not in SHARED_APPS ] MIDDLEWARE = [ 'django_tenants.middleware.main.TenantMainMiddleware', 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'tlgrmbot.urls' PUBLIC_SCHEMA_URLCONF = 'tlgrmbot.urls_public' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'tlgrmbot.wsgi.application' # Database # https://docs.djangoproject.com/en/3.2/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django_tenants.postgresql_backend', 'NAME': os.environ.get('DB_NAME_BOT'), 'USER': os.environ.get('DB_USER_BOT'), 'PASSWORD': os.environ.get('DB_PWD_BOT'), 'HOST': 'localhost', 'PORT': '5432', } } DATABASE_ROUTERS = ( 'django_tenants.routers.TenantSyncRouter', ) TENANT_MODEL = "tenant_manager.Tenant" TENANT_DOMAIN_MODEL = "tenant_manager.Domain" SHOW_PUBLIC_IF_NO_TENANT_FOUND = True the schemas are public and doyangrlt even if … -
Issues with djangocms-text upgrade, configuration & custom settings not working in django app
I'm working on a project that uses django, djangocms, and djangocms-text-ckeditor. The project is old and desperately in need of updating, so i'm currently updating these major packages one at a time. Due to djangocms-text-ckeditor no longer being supported and not supporting the latest django or djangocms, I swapped it out with djangocms-text and followed the steps they recommended to migrate/update from ckeditor and the djangocms-text describes itself as ckeditors replacement for django. However, we had a lot of custom styles & css installed in the old text-ckeditor, and after initially getting djangocms-text to work with the base settings, I started working on adding in all of our custom styles and css, while also playing around with using the tiptap editor (default for text) or using ckeditor4, which comes with djangocms-text. It seems like I did get the styles to be recognized at some point and I know I was able to at least alter what styles were displayed in the dropdown, but now, after hours of trying, none of my configuration settings are taking effect at all, not even TEXT_INLINE_EDITING = False, which I know worked previously. I could really use some help here, the docs for these things … -
Custom Connection usage in graphene_django
I have a variation of the problem described here: Using DjangoFilterConnectionField with custom Connection in graphene_django The modified problem is as follows: Lets say I have a Django model class 'User', that has a field 'email_addrs' that is a comma-delimited string of email addresses: class User(models.Model): email_addrs = models.TextField(max_length=512, null=True, help_text="Comma-delimited string of email addresses") ...<other-fields>... And I have a UserNode(DjangoObjectType) built on top of that model, with a 'derived' field called 'count_email_addresses' with a resolver: class UserNode(DjangoObjectType): class Meta: model = User filter_fields = ('email_addrs', ) interfaces = (Node, ) connection = UserConnection count_email_addresses = graphene.Int() @static_method resolve_count_email_addresses(parent, info): # code to resolve the count of email addresses Note the UserConnection class (above, bound to the 'connection' Meta field) that I will describe next. The count_email_addesses field will return the number of email addresses for 'a user'. My requirement is to return the number of Users and the total number of email addresses across those users - which is an aggregation across the Users in my query. For that I am using the UserConnection class that is defined as: class UserConnection(Connection): class Meta: abstract = True count_users = graphene.Int() aggregate_count_email_addrs = graphene.Int() I need to write resolvers for 'count_users' … -
Django REST Framework: "No default throttle rate set for 'signup' scope" even though scope is defined
I’m trying to apply custom throttling for the signup endpoint in my Django REST Framework API. The goal is to allow only 5 signup attempts per hour for anonymous users. I created a SignupRateThrottle class that sets scope = "signup" and included it in DEFAULT_THROTTLE_CLASSES. I also added "signup": "5/hour" inside DEFAULT_THROTTLE_RATES in my settings.py. However, when I make a request to /api/v1/auth/signup/, I get this error: ImproperlyConfigured: No default throttle rate set for 'signup' scope Even though I already set the throttle rate for signup in my settings. I’ve double-checked that: The spelling of "signup" matches everywhere. Restarting the server doesn’t fix it. The error happens on a GET request, but I only intended to throttle POST requests. What I expected: Throttling should only apply to POST requests. After 5 signups in an hour, DRF should return 429 Too Many Requests. What happens instead: I get the ImproperlyConfigured error immediately. What I tried: Added "signup": "5/hour" in REST_FRAMEWORK["DEFAULT_THROTTLE_RATES"]. Restarted the server multiple times. Verified that scope = "signup" matches in both the throttle class and settings. Tried removing other custom throttles from DEFAULT_THROTTLE_CLASSES to isolate the issue -
why django migrate doesn't work even though I used make migration and it have not error
i create a new instance of Model an use makemigrations its work and this is my 0001_initial.py: class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='ProfileModel', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('avatar', models.ImageField(blank=True, default='accounts/avatars/default_avatar.jpg', upload_to='accounts/avatars/')), ('phone', phonenumber_field.modelfields.PhoneNumberField(blank=True, max_length=128, region=None)), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to=settings.AUTH_USER_MODEL)), ], ), ] when i use migrate Django cannot detect and apply changes to the database. Operations to perform: Apply all migrations: my_app Running migrations: No migrations to apply. i use python .\manage.py migrate accounts_app 0001_initial and its not work django say: No migration to Apply and when i use python .\manage.py showmigrations accounts_app There is a cross next to my migration file name. -
Django REST framework gives me csrf token missing when i am logged in for POST requests
i am making an API with django rest framework and django 5.2 when i send a POST request, if i be logged in it gives me an CSRF token missing error. but if i be logged out it gives me response with no error. here are my views for handling user creation and authentication: @api_view(['POST']) def signup_view(request): if not request.user.is_authenticated: serializer = UserSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) return Response({"detail": "The user is already logged in."}, status=status.HTTP_403_FORBIDDEN) @api_view(['POST']) def login_view(request): if not request.user.is_authenticated: user = authenticate(**request.data) print(request.POST) if not user: return Response({"detail": "User authentication failed."}, status=status.HTTP_400_BAD_REQUEST) login(request, user) return Response({"detail": "Login was succesful."}) return Response({"detail": "The user is already logged in."}, status=status.HTTP_403_FORBIDDEN) and here are my views for handling get and post method for the model: class NoteListView(APIView): def get(self, request): notes = Note.objects.filter(author=request.user) serializer = NoteSerializer(notes, many=True) data = [] for note in serializer.data: data.append({'title': note['title']}) return Response(data) def post(self, request): serializer = NoteSerializer(data=request.data) serializer.initial_data['author'] = request.user print("1") if serializer.is_valid(): print("2") serializer.save() print("3") return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) now i want to know what i have to do for fixing the csrf missing error in this situation. -
error: "get" is not a known attribute of "None" (reportOptionalMemberAccess)
I use PyRight to check my Django code. It complains about that class FooForm(ModelForm): def clean(self): cleaned_data = super().clean() start = cleaned_data.get("start_date") # <------- here error: "get" is not a known attribute of "None" (reportOptionalMemberAccess) I installed django-stubs. How to make PyRight aware that cleaned_data is a dictionary? Or is something wrong with my setup? -
Django 1.5.1: diagnose and fix Report
I've been handed a rather old Django installation to support, with the specific request to re-enable a report that used to go out every week or so, but stopped showing up a few months ago. Django v 1.5.1 Python 2.7.3 Ubuntu 12.04 (yikes) Problem is - I'm totally new to Django. I'm not sure where this report might be coming from, or how to troubleshoot it, or how to configure it. I was going to try the Admin pages; I finally was able to get my IP on the allow-list, and can bring up the login for that page, but I'm not sure what a valid user/PW is for this system. Where are the Django 'Admin' users kept? I'm able to access the MySQL DB backend itself - but the user-table for MySQL itself doesn't appear to be the source for the Django Admin users. So I would guess they are stored in a table in the Django eco-system... I'd like to just add a new user for myself, so I can log in and poke around in Admin. I have reviewed some Django documentation, but not seeming to find the answers to my questions, for either setting/administering users, nor … -
How to handle feature and permission-based authorization in Next.js without delaying initial render?
I’m building a multi-tenant SaaS application with Django Ninja as the backend and Next.js as the frontend. I’m running into a problem around handling RBAC permissions and org-level feature entitlements without causing bad UI behaviour. Current setup The app has a pre-defined set of permissions and features. Each organization can: Create their own RBAC roles for members. Define their own plans (feature bundles) for members. Hierarchy looks like: Platform → Org → Members. Problem For RBAC, I first tried fetching permissions/features from an API after login. But in Next.js, this caused a UX issue: On initial render, the UI displayed all components/features. Only after the API call resolved (or a manual refresh), the UI updated to hide restricted components. This led to a flicker effect where users briefly saw components they shouldn’t. To avoid this for RBAC, I moved the permissions into the JWT, so the frontend can instantly check them at page load. This works well, but I’m unsure if I should do the same for feature entitlements (since those are org-level and can change dynamically). Question Is it acceptable to also put feature entitlements in the JWT (and refresh the token on org/plan changes)? Or is there a … -
Patterns for testing web API permissions
I am working on a cookie cutter JSON web API. Think /items/<id> with your typical CRUD of delete, patch, get, and post. Recently, we started rolling out a new permissions model for the API, where certain operations are forbidden based on a combination of user and object properties. For example: We have two types of items - normal items and locked items, and we have two type of users - regular users and admin users. Users belong to a company. Regular users can mutate any normal item that belongs to their company, but not locked items Admin users can mutate any item (normal or locked) in their company. So the matrix for testing looks something like this: Test that regular users can do full CRUD on normal items in their company Test that regular users can get but not mutate locked items in their company Test that regular users can not do any CRUD on items not in their company Test that admin users can do full CRUD on normal items in their company Test that admin users can do full CRUD on locked items in their company Test that admin users can not do any CRUD on items not … -
Django 'join' tabels
I have 3 Tabels in Django class Transactions(models.Model): public_key = models.ForeignKey(Keys, on_delete=models.CASCADE) txid = models.CharField(max_length=30) timestamp = models.DateTimeField() hash = models.CharField(max_length=64) block = models.IntegerField() amount = models.IntegerField() saldo = models.IntegerField() fee = models.IntegerField() fiat_CHF = models.FloatField(default=0) fiat_USD = models.FloatField(default=0) fiat_EUR = models.FloatField(default=0) position = models.IntegerField(default=0) class Price(models.Model): date = models.DateTimeField() price = models.FloatField() fiat = models.ForeignKey(Currencies, on_delete=models.DO_NOTHING) class PriceTextBackup(models.Model): date = models.CharField(max_length=20) price = models.FloatField() fiat = models.ForeignKey(Currencies, on_delete=models.DO_NOTHING) This is from a Bitcoin App, the Transaction Table contains the exact time when transaction was mined. Now I want to load the stored bitcoin price for that day for example the transaction may have a timestamp of 2000-01-01 12:10:10 and the price 2000-01-01 so i want to join or link them. It doesn't have to be in database. I did something similar in a diffrent page to calculate the average price, i load both tables and 'join' them. In the end I want to display the transaction with a price. this price can come from price, pricetextbackup or be 0. Can this be achived and how? -
Django join where values not null
I have 3 Tabels in Django class Transactions(models.Model): public_key = models.ForeignKey(Keys, on_delete=models.CASCADE) txid = models.CharField(max_length=30) timestamp = models.DateTimeField() hash = models.CharField(max_length=64) block = models.IntegerField() amount = models.IntegerField() saldo = models.IntegerField() fee = models.IntegerField() fiat_CHF = models.FloatField(default=0) fiat_USD = models.FloatField(default=0) fiat_EUR = models.FloatField(default=0) position = models.IntegerField(default=0) class Price(models.Model): date = models.DateTimeField() price = models.FloatField() fiat = models.ForeignKey(Currencies, on_delete=models.DO_NOTHING) class PriceTextBackup(models.Model): date = models.CharField(max_length=20) price = models.FloatField() fiat = models.ForeignKey(Currencies, on_delete=models.DO_NOTHING) Now i want to 'join' transactions with price on the date, if it is null i want to check the text backup, if it is still null, i want it to be 0. Is that possible? and how? -
so many terminal messages when starting django runserver
when I start python manage.py runserver I get many messages similar to the following. File C:\Users\PC\OneDrive\Documents\DoseSaaS\DoseV3MasterSaaS\templates\admin\dose\tenant\change_list.html first seen with mtime 1754471094.0 to the point it fills the terminal window. How do I stop this? Could not find anything in the project and co-pilot could not help. checked settings.py and found nothing I could find. I looked for external services like watchdog but didn't find anything obvious. -
Django: How to customize the reset password URL with a custom email template?
I am stuck with somewhat similar situation. It sends default email and not the custom email. Hence the in reset password the URL is the API endpoint url and not the url to the UI. I am using React.js in the frontend. Sending: http://localhost:8000/api/auth/password/reset/confirm/{uidb64}/{token} Correct url: https://my-domain.com/password-reset/confirm/{uidb64}/{token} .env BASE_URL=https://my-domain.com settings.py REST_AUTH = { 'PASSWORD_RESET_CONFIRM_URL': env('BASE_URL')+'/password-reset/confirm/{uidb64}/{token}', 'PASSWORD_RESET_SERIALIZER': 'users.serializers.CustomPasswordResetSerializer', } urls.py from django.urls import path, re_path from .views import ( CustomPasswordResetView ) from dj_rest_auth.views import LogoutView, PasswordResetConfirmView, PasswordResetView urlpatterns = [ path('password/reset/', CustomPasswordResetView.as_view(), name='rest_password_reset'), path('password/reset/confirm/<uidb64>/<token>/', PasswordResetConfirmView.as_view(), name='password_reset_confirm'), ] views.py class CustomPasswordResetView(PasswordResetView): serializer_class = CustomPasswordResetSerializer serializers.py class CustomPasswordResetSerializer(DjRestAuthPasswordResetSerializer): def get_email_options(self): return { 'email_template_name': 'registration/password_reset_email.html', 'extra_email_context': { 'password_reset_url': settings.REST_AUTH['PASSWORD_RESET_CONFIRM_URL'], } } password_reset_email.html # failed to test both styles of URL <a href="{{ password_reset_url }}">{{ password_reset_url }}</a> <a href="{{ base_url }}/password-reset/confirm/{{ uid }}/{{ token }}">{{ base_url }}/password-reset/confirm/{{ uid }}/{{ token }}</a> Python 3.11.2 django-sslserver 0.22 djangorestframework 3.15.2 dnspython 2.7.0 ipython 8.12.3 mysql-connector-python 9.1.0 opencv-python 4.10.0.84 python-dateutil 2.9.0.post0 python-dotenv 1.0.1 python-jose 3.5.0 python-multipart 0.0.20 I am unable to specify a custom url. How can I achieve the following: when user receives an email to reset password, they should have the React.js UI opened upon clicking the desired correct url with custom email template as described above. … -
Show the text from a Json file in Django template
I am starting learn django,I have made some basic templates/views and want to show the text from a json file located in the assets/jsons folder.The file is called "quotes.json" The content of the json file: { "emp_details": [ { "emp_name": "johnny", "email": "example1.mail@gmail.com", "job_profile": "intern" }, { "emp_name": "gustav", "email": "gustav.empl@gmail.com", "job_profile": "developer" }, { "emp_name": "emily", "email": "emily@gmail.com", "job_profile": "Full Time" } ] } here is the views.py: from django.http import HttpResponse from django.shortcuts import render from django.contrib.auth import get_user_model #from . import models def homepage(request): ##here is where I want to have the json data ##and return it in the render along with the request and 'homepage.html' return render(request,'homepage.html') def about(request): return render(request,'about.html') def users(request): User = get_user_model() users = User.objects.all() return render(request,'users.html',{'users':users}) here is the homepage.html ,the layout.html has css and some navigation buttons it is irrelevant. I literally only want the contents of the json to be shown as text in the homepage. {% extends 'layout.html' %} {% block title %} Home {% endblock %} {% block content %} {% load static %} {% load static %} <script type="text/javascript"> console.log(json1_data); </script> <h1>Home</h1> <h1><p>Welcome {{request.user}}</p></h1> <p>Check out my <a href="/about">About</a> page.</p> <p id="demo"> </p> {% endblock %} … -
Django cannot register oauth2_provider and rest_framework to INSTALLED_APPS
I am working on this weekend project, to learn Django and I am stuck. Before adding the REST framework (one to last commit in the repo), everything was working just alright. Once I added the djangorestframework library, everything fell apart. Now, whether you run the app on a venv or on DOcker, you will get the same result: RuntimeError: Model class oauth2_provider.models.Application doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. ... or a similar one related to rest_framework's Token. Both libraries are installed. I understand the problem is that something is wrong with INSTALLED_APPS. But... WHAT?! The docs make me think I am not doing anything wrong. If you look at the imports, from rest_framework etc etc and from oauth2_provider etc etc seem to be the problem. Error logs and stack traces are quite useless, there is not useful info in there. Your help will be much appreciated. -
Managing Django groups and permissions for custom users
For my Django projects, I am used to creating a custom user model and managing what my user can do for a specific route using a roles field like this: class User(AbstractBaseUser, PermissionsMixin): name = models.CharField("full name", max_length=255, blank=True) email = models.EmailField("email address", unique=True) createdAt = models.DateField(auto_now_add=True) photo = models.ImageField( "profile photo", blank=True, null=True, validators=[ FileExtensionValidator(allowed_extensions=["jpg", "png", "jpeg"]) ], ) # by default retrieves file from media root role = models.CharField( max_length=50, choices=[(role.value, role.name) for role in USER_ROLES], ) is_active = models.BooleanField(default=True) USERNAME_FIELD = "email" objects: CustomUserManager = CustomUserManager() def has_perm(self, perm, obj=None): if self.role == USER_ROLES.ADMIN.value: return True return super().has_perm(perm, obj) def has_module_perms(self, app_label): if self.role == USER_ROLES.ADMIN.value: return True return super().has_module_perms(app_label) @property def is_staff(self): return self.role == USER_ROLES.ADMIN.value @property def is_superuser(self): return self.role == USER_ROLES.ADMIN.value def __str__(self) -> str: return f"{self.pk}-{self.email}" But I realize that it’s best to shift to a multi-role approach for flexibility and I was hoping to use the built-in Group and Permissions model for this. However, I was confused as to how to handle the groups and permissions for each user inside a view/API route and sync any changes in groups and permissions later on if needed. Can anyone suggest an efficient way of … -
Stripe webhooks not firing in Django app during normal checkout flow
I'm integrating Stripe with my Django app (using Django REST Framework). I've set it up to accept POSTs, and when I use the Stripe CLI to trigger events, everything works perfectly. Example Stripe CLI command: stripe listen --forward-to localhost:8000/webhooks/api/v1/stripe-webhook/ When I run commands like stripe trigger checkout.session.completed I see the events in my server logs and my Django view is hit as expected: [200] POST http://localhost:8000/webhooks/api/v1/stripe-webhook/ price.created [evt_1R] [200] POST http://localhost:8000/webhooks/api/v1/stripe-webhook/ charge.succeeded [evt_1R] [200] POST http://localhost:8000/webhooks/api/v1/stripe-webhook/ payment_intent.succeeded [evt_1R] [200] POST http://localhost:8000/webhooks/api/v1/stripe-webhook/ checkout.session.completed [evt_1R] [200] POST http://localhost:8000/webhooks/api/v1/stripe-webhook/ payment_intent.created [evt_1R] [200] POST http://localhost:8000/webhooks/api/v1/stripe-webhook/ But when I go through my actual frontend flow (create a Checkout Session from my app, complete the payment in test mode, etc.), no webhooks are received at all. I see nothing in my Django logs. Nothing is received on my webhook endpoint. I also see no attempts or errors in the Stripe Dashboard's "Webhooks" section. Things I have tried: Registering both URLs in the Stripe Dashboard webhook settings. I am using test mode and test credentials. Stripe CLI and triggers work perfectly. Summary: Stripe CLI triggers work, real Stripe events from live app flow do not. No webhooks reach my server in normal payment flow, but do when … -
Django connection_created signal is causing problems when testing
In my django application I have a list of notification types and I want to allow customers to subscribe to one or more notification types. Each notification type has somewhat of a custom logic so the code of each notification has to be in a different class but I have created a singleton class that gathers all the notification type names and other metadata like description etc. I want to have a list in the database of all the supported notification types so that the relationship between customers and notification types can be stored in the database while customers subscribe to notification types. I want to have a notification type table so that I can store the metadata and a separate table to store the many-to-many relationship between customers and notifications. That is where connection_created signal comes in. I have created the following signal that creates the notification type items in the database when the connection_created signal is received so they get auto-updated when I am changing the code: from django.db.backends.signals import connection_created from django.db.backends.postgresql.base import DatabaseWrapper from django.dispatch import receiver from notification_type_singleton import NotificationTypeSingleton from models import NotificationType @receiver(connection_created, sender=DatabaseWrapper) def create_or_update_notification_type(sender, **kwargs): exiting_ids = [] for _, notification_type … -
535, b'5.7.139 Authentication unsuccessful, basic authentication is disabled
I have a website that uses an email contact form. Recently been told it does not work. When I recreated the error in development I got the error 535, b'5.7.139 Authentication unsuccessful, basic authentication is disabled. I read online that basic authentication has been switched off by Microsoft. I am unsure how to resolve this. Is there a new way to authenticate? I cannot find anything that will allow a user to provide these simple details to send an email to our inbox. I am using Django and the following code that did work before. html = render_to_string('emails/contact_form.html', { 'first_name': first_name, 'last_name': last_name, 'email': email, 'content': content }) send_mail('Message', content, EMAIL_HOST_USER, [EMAIL_HOST_USER], html_message=html) -
Stripe: "No signatures found matching the expected signature for payload" using Django Rest Framework and request.body
I'm integrating Stripe webhooks into my API, which is built with Django Rest Framework (DRF). Here’s my webhook view: class StripeWebhookView(APIView): permission_classes = [AllowAny] # Public webhook def post(self, request, *args, **kwargs): payload = request.body sig_header = request.headers.get('stripe-signature') try: event = stripe.Webhook.construct_event( payload=payload, sig_header=sig_header, secret=settings.STRIPE_SIGNING_SECRET ) except ValueError as e: print(f"Invalid payload: {e}") return Response(status=status.HTTP_400_BAD_REQUEST) except stripe.error.SignatureVerificationError as e: print(f"Signature verification failed: {e}") return Response(status=status.HTTP_400_BAD_REQUEST) # ... webhook logic ... return Response(status=200) I get: [...] "POST /webhooks/stripe-webhook/ HTTP/1.1" 200 0 [...] "POST /webhooks/stripe-webhook/ HTTP/1.1" 200 0 [...] "POST /webhooks/stripe-webhook/ HTTP/1.1" 200 0 [...] "POST /webhooks/stripe-webhook/ HTTP/1.1" 200 0 [...] "POST /webhooks/stripe-webhook/ HTTP/1.1" 200 0 [...] "POST /webhooks/stripe-webhook/ HTTP/1.1" 200 0 Invalid signature: No signatures found matching the expected signature for payload Bad Request: /webhooks/stripe-webhook/ [...] "POST /webhooks/stripe-webhook/ HTTP/1.1" 400 0 I’ve already double-checked that my STRIPE_SIGNING_SECRET is correct, and my endpoint is set up correctly in the Stripe dashboard. I am using request.body directly (not request.data), as suggested in other answers, but the error persists. Has anyone successfully used Stripe webhooks with Django Rest Framework and managed to pass signature verification? I have carefully read and tried all the solutions mentioned in this post I am using request.body (not request.data) … -
Using list which depends on another list in excel using python
I have a requirement to create dependent dropdowns in excel using python. import os import openpyxl from openpyxl.styles import Border, Side, PatternFill, Font, Alignment, numbers from openpyxl.worksheet.datavalidation import DataValidation from openpyxl.workbook.defined_name import DefinedName def create_dynamic_excel_bytes(sheets_config, file_name): wb = openpyxl.Workbook() ws_hidden = wb.create_sheet("Hidden") hidden_col = 1 path_url = "/home/downloads/dravoka-downloadexcel/" file_path = os.path.join(path_url, file_name) # ✅ Add global EmptyRange placeholder empty_col_letter = openpyxl.utils.get_column_letter(hidden_col + 100) ws_hidden.cell(row=1, column=hidden_col + 100, value="") wb.defined_names.add( DefinedName("EmptyRange", attr_text=f"Hidden!${empty_col_letter}$1") ) for sheet_idx, sheet_conf in enumerate(sheets_config): if sheet_idx == 0: ws = wb.active ws.title = sheet_conf["sheet_name"] else: ws = wb.create_sheet(sheet_conf["sheet_name"]) columns = sheet_conf["columns"] num_rows = sheet_conf.get("num_rows", 100) # Create border style border = Border( left=Side(border_style="thin"), right=Side(border_style="thin"), top=Side(border_style="thin"), bottom=Side(border_style="thin"), ) # Create header style header_fill = PatternFill(start_color="475E75", end_color="475E75", fill_type="solid") header_font = Font(bold=True, color="FFFFFF") # White color header_alignment = Alignment(horizontal="center", vertical="center") for col_idx, col in enumerate(columns, start=1): cell = ws.cell(row=1, column=col_idx, value=col["header"]) cell.fill = header_fill cell.font = header_font cell.alignment = header_alignment cell.border = border for col_idx, col in enumerate(columns, start=1): col_letter = openpyxl.utils.get_column_letter(col_idx) if col["type"] == "dropdown": for i, val in enumerate(col["dropdown_values"], start=1): ws_hidden.cell(row=i, column=hidden_col, value=val) range_name = f"{sheet_conf['sheet_name']}_{col['header']}".replace(" ", "_") range_ref = ( f"Hidden!${openpyxl.utils.get_column_letter(hidden_col)}$1:" f"${openpyxl.utils.get_column_letter(hidden_col)}${len(col['dropdown_values'])}" ) wb.defined_names.add(DefinedName(name=range_name, attr_text=range_ref)) dv = DataValidation(type="list", formula1=f"={range_name}", allow_blank=True) ws.add_data_validation(dv) for row in range(2, num_rows + … -
JsonField in Django Admin as Inline
I have a JsonField in my Model, its structure is a dict. class MyModel: final_result = models.JSONField() But it's pretty big, and it's hard to edit it with any JSON widget. So I thought, that maybe I need to parse/split it to several 'custom' fields. jsonfield = { "key1": "value1", "key2": "value2", "key3": [ {"inner_key_1": "inner_value_1", "inner_key_2": "inner_value_2", etc} ] } Given this JSON data, I would like to have fields: key1, key2 (which is easy), and here's the problem - key3, which is list of dicts. Can I somehow display them like Inlines? With fields - inner_key_1, inner_key_2 (etc) So I can edit each element of list delete element with button add another element with preset fields When I try to use inlines - it says it needs a model, but I don't have a model for this json. Proxy models and abstract models give errors. Forms, formsets (AI recommendations) don't work too. I tried using inlines, forms, formsets, with a help from AI))