Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Use wagtail form into other templates
So I have created a Form with the Wagtail Form Builder and works well. Now I want to use the created from into other templates throughout my project. I have originally created the form for the Contact Page, but now I want this same form to be use in other templates such as lets say a Blog Page, under the post as a contact form. Is there any way to do that? Thanks a lot! I dont know where to start because i cant really bring the ID or value of the specific form. -
Django is unable to connect to your MySQL server running on 'localhost' at port 3306
enter image description here enter image description here can any one help me with this error ? and i tried many ways but still there is issue with my sql server, django is not getting connected to sql server ! Expecting resolution. -
Unable to get both access and refresh cookies in http only cookies
I'm creating a Django jwt authentication web app and I am trying to get both access and refresh tokens via HTTP-only cookies. But the front end can only get the refresh token, not the access token so I can't log in. Frontend is done in React and I have used {withCredentials: true} yet I only get a refresh token, not the access token Authentication.py file import jwt, datetime from django.contrib.auth import get_user_model from django.utils import timezone from django.conf import settings from rest_framework import exceptions from rest_framework.authentication import BaseAuthentication, get_authorization_header User = get_user_model() secret_key = settings.SECRET_KEY class JWTAuthentication(BaseAuthentication): def authenticate(self, request): auth = get_authorization_header(request).split() if auth and len(auth) == 2: token = auth[1].decode('utf-8') id = decode_access_token(token) user = User.objects.get(pk=id) return (user, None) raise exceptions.AuthenticationFailed('Unauthenticated') def create_access_token(id): return jwt.encode({ 'user_id': id, 'exp': timezone.now() + datetime.timedelta(seconds=60), 'iat': timezone.now() }, 'access_secret', algorithm='HS256') def decode_access_token(token): try: payload = jwt.decode(token, 'access_secret', algorithms='HS256') return payload['user_id'] except: raise exceptions.AuthenticationFailed('Unauthenticated') def create_refresh_token(id): return jwt.encode({ 'user_id': id, 'exp': timezone.now() + datetime.timedelta(days=10), 'iat': timezone.now() }, 'refresh_secret', algorithm='HS256') def decode_refresh_token(token): try: payload = jwt.decode(token, 'refresh_secret', algorithms='HS256') return payload['user_id'] except: raise exceptions.AuthenticationFailed('Unauthenticated') views.py file import random import string from django.contrib.auth import get_user_model from .models import UserTokens, PasswordReset from django.http import JsonResponse from rest_framework.views … -
Not having write permissions for a file in a docker container
Every time I want to edit and save a file using a text editor like Sublime Text or VS Code, it requires my password. The files are part of a Django project in a docker container. Only the root user has write permissions. How can I set this so it doesn't require password? Also there's a lock icon on the project folders that have this problem. I tried adding my user to docker group to solve this problem but it didn't resolve. -
Is there any way in Python to run code with parameters from string variable?
I'm developing website with interactable algorithms. The problem is that i get code as string from database and i need to execute it with parameters that came from user interface. Is there any Python library that can solve this problem? I'm new to Python and Django and I don't really know is this possible or not. Example of code: class CombinationColex: def __init__(self, n, k): self.total_elements = n self.combination_size = k self.combination_array = [0] * (self.combination_size + 1) self.combination_array[self.combination_size] = self.total_elements + 2 self.first() def first(self): for i in range(self.combination_size): self.combination_array[i] = i def next(self): if self.combination_array[0] == self.total_elements - self.combination_size: self.first() return self.combination_size j = 0 while self.combination_array[j + 1] - self.combination_array[j] == 1: self.combination_array[j] = j j += 1 self.combination_array[j] += 1 return j def data(self): return self.combination_array[:-1] def Start(self): while True: for i in range(self.total_elements): present = i in self.data() print("1" if present else "0", end="") print() if self.next() == self.combination_size: break combination_generator = CombinationColex(n, k) combination_generator.Start() -
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet, on django channels
My app run both using HTTP and Websocket using django channels. I am preparing for deployment and yet when I run daphne MarketPlace.asgi:application it throws this error. I am not sure if I had circular imports because my User model has been used a lot on other models from other applications. Traceback (most recent call last): File "/home/luser/.local/share/virtualenvs/MarketPlace-8dI9Cb42/bin/daphne", line 8, in <module> sys.exit(CommandLineInterface.entrypoint()) File "/home/luser/.local/share/virtualenvs/MarketPlace-8dI9Cb42/lib/python3.10/site-packages/daphne/cli.py", line 171, in entrypoint cls().run(sys.argv[1:]) File "/home/luser/.local/share/virtualenvs/MarketPlace-8dI9Cb42/lib/python3.10/site-packages/daphne/cli.py", line 233, in run application = import_by_path(args.application) File "/home/luser/.local/share/virtualenvs/MarketPlace-8dI9Cb42/lib/python3.10/site-packages/daphne/utils.py", line 17, in import_by_path target = importlib.import_module(module_path) File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/home/luser/Desktop/MarketPlace/./MarketPlace/asgi.py", line 11, in <module> from chats.routing import websocket_urlpatterns File "/home/luser/Desktop/MarketPlace/./chats/routing.py", line 3, in <module> from . import consumers File "/home/luser/Desktop/MarketPlace/./chats/consumers.py", line 10, in <module> from .models import Conversation, Message File "/home/luser/Desktop/MarketPlace/./chats/models.py", line 8, in <module> from accounts.models import User File "/home/luser/Desktop/MarketPlace/./accounts/models.py", line 4, in <module> from django.contrib.auth.models import AbstractUser File "/home/luser/.local/share/virtualenvs/MarketPlace-8dI9Cb42/lib/python3.10/site-packages/django/contrib/auth/models.py", line 3, in <module> from django.contrib.auth.base_user import … -
Chained ModelSelect2Widget
I have these models: from django.db import models class ValidationCheckType(models.Model): name = models.CharField(max_length=255) nicename = models.CharField(max_length=255) description = models.CharField(max_length=255, blank=True) def __str__(self): return self.nicename class ValidationCheckTarget(models.Model): name = models.CharField(max_length=255) nicename = models.CharField(max_length=255) type = models.ForeignKey('ValidationCheckType', on_delete=models.PROTECT) def __str__(self): return ' - '.join([self.type.nicename, self.nicename]) class DirectiveCheck(models.Model): directive = models.ForeignKey(Directive, on_delete=models.CASCADE) check_type = models.ForeignKey(ValidationCheckType, on_delete=models.PROTECT, related_name='types') check_target = models.ForeignKey(ValidationCheckTarget, on_delete=models.PROTECT, related_name='targets') target_value = models.CharField(max_length=255, blank=True) So, ValidationCheckType represents the top-level category, filtering ValidationCheckTarget choices to ensure only relevant targets are displayed based on the selected type. Or so it should be. Now to the forms. According to django_select2.forms.ModelSelect2Widget and customizing-a-form I should be able to do something like this: from django import forms from django_select2 import forms as s2forms from .models import DirectiveCheck, ValidationCheckTarget, ValidationCheckType class DirectiveCheckForm(forms.ModelForm): class Meta: model = DirectiveCheck fields = ['check_type', 'check_target', 'target_value'] widgets = { 'check_type': s2forms.ModelSelect2Widget( model=ValidationCheckType, search_fields=['nicename__icontains'], ), 'check_target': s2forms.ModelSelect2Widget( model=ValidationCheckTarget, search_fields=['nicename__icontains'], dependent_fields={'check_type': 'id'}, max_results=10, attrs={ "data-minimum-input-length": 0, "data-placeholder": "Select a check_type first", } ) } The good news is, the check_type dropdown works. The bad news is, the check_target dropdown does not. It does not filter the results according to the selection in check_type. If I access the auto-generated AJAX URL created by the … -
django-python3-ldap Auth only specific groups
Hoping someone can help me debug an issue I have using django-python3-ldap. I have been able to get authentication working but need to be able to only authenticate users that are in a specific AD Group ("BI - Admin" within MSBI), Here is my code that is working (for authenticating all users) Settings.py: `AUTHENTICATION_BACKENDS = ["django_python3_ldap.auth.LDAPBackend"] #AUTH_LDAP_SERVER_URI = "LDAP://SERVERNAME" LDAP_AUTH_URL = ["LDAP://SERVERNAME:389"] LDAP_AUTH_USE_TLS = False import ssl LDAP_AUTH_TLS_VERSION = ssl.PROTOCOL_TLSv1_2 LDAP_AUTH_SEARCH_BASE = "cn=users,dc=DOMAIN,dc=org" LDAP_AUTH_OBJECT_CLASS = "user" LDAP_AUTH_USER_FIELDS = { "username": "sAMAccountName", "first_name": "givenName", "last_name": "sn", "email": "mail", } LDAP_AUTH_USER_LOOKUP_FIELDS = ("username",) LDAP_AUTH_CLEAN_USER_DATA = "django_python3_ldap.utils.clean_user_data" LDAP_AUTH_SYNC_USER_RELATIONS = "django_python3_ldap.utils.sync_user_relations" from apprum.ldap_filters import custom_format_search_filters LDAP_AUTH_FORMAT_SEARCH_FILTERS = "apprum.ldap_filters.custom_format_search_filters" LDAP_AUTH_FORMAT_USERNAME = "django_python3_ldap.utils.format_username_active_directory_principal" LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN = "domain.org"` ldap_filters.py : ` from django_python3_ldap.utils import format_search_filters def custom_format_search_filters(ldap_fields): #ldap_fields["memberOf"] = "BI - Admin" search_filters = format_search_filters(ldap_fields) # Advanced: apply custom LDAP filter logic. #search_filters.append("(|(memberOf=BI - Team))") #search_filters.append("(&(memberOf=cn=BI - Admin,OU=MSBI,DC=mookynet,dc=org))") # All done! print(search_filters) return search_filters ` **Structure of Active Directory:** Domain.org Groups |---MSBI |---BI - Admin Users |--- Adam.Wally "Adam.Wally" is a user in my test AD and a member of BI - Admin. So in theory that account should be authenticated.. Well, Thats what I am aiming for, If I uncomment ldap_fields["memberOf"] = "BI - Admin", I get … -
Invalid block tag on line 126: 'set', expected 'empty' or 'endfor'. Did you forget to register or load this tag?
i want to use {% set … } but it has problem is django.template.exceptions.TemplateSyntaxError: Invalid block tag on line 126: ‘set’, expected ‘empty’ or ‘endfor’. Did you forget to register or load this tag? what should i do ? <div class="carousel-inner"> {% for knowledge in knowledges %} {% set count = 0 %} {% for photo in photo01s %} {% if photo.category01 == knowledge %} {% set count = count + 1 %} <div class="carousel-item {% if forloop.first %}active{% endif %}"> <div class="row"> <div class="card" style="background-image: url('{{ photo.image01.url }}');"></div> </div> </div> {% endif %} {% endfor %} {% endfor %} </div> i have tried several ways but it does not work. -
Send Zip as a response in Django Rest framework
I am creating Barcodes in an API inj both png as well as pdf format and then trying to compress them and send them as zip file in response, for that I am doing this: class DownloadBarcodeImageAPIViewV2(APIView): # permission_classes = (permissions.IsAuthenticated,) def convert_image_to_pdf(self, image_path): image = Image.open(image_path) pdf_path = os.path.splitext(image_path)[0] + '.pdf' image.convert('RGB').save(pdf_path) return pdf_path def get(self, request): obj_relative_url = self.request.user.company.branding_logo.document obj_url = obj_relative_url.url po_id = request.GET['po'] company = request.user.company.pk barcodes = CompanyBarcodes.objects.filter( po_id=po_id, company=company, ).prefetch_related('company', 'product', 'grn_id', 'asn_id', 'itemGroup') items = [] for i in barcodes: items.append({'bar': i.barcode, 'name': str(i.product.name) + " - " + str(i.product.sku)}) zip_buffer = io.BytesIO() # Create a BytesIO buffer to hold the zip file with zipfile.ZipFile(zip_buffer, 'a', zipfile.ZIP_DEFLATED, False) as zipf: for item in items: EAN = barcode.get_barcode_class('code128') d = {'module_width': 0.15, 'module_height': 2.0, 'quiet_zone': 0.5, 'text_distance': 1.5, 'font_size': 3, 'text_line_distance': 3, 'dpi': 900} w = ImageWriter(d) ean = EAN(item['bar'], writer=ImageWriter()) a = ean.save("{} - {}".format(item['name'], item['bar']), options=d) pdf_path = self.convert_image_to_pdf(a) zipf.write(pdf_path, os.path.basename(pdf_path)) # Add PDF to the zip file zip_buffer.seek(0) # Move the cursor to the beginning of the buffer zip_data = base64.b64encode(zip_buffer.getvalue()).decode() # Encode the zip buffer as base64 return HttpResponse(zip_data, content_type='application/zip') # Return the zip file in the response and the … -
persian slug in django urls in page start with persian slug address
when I use persian slug to get my post details I have a special problem.. in the pages with persian slug urls in the page start with corrent page address like this : in the page : example.com/سلام-دنیا when I click on the signUp button istead of this url: example.com/signUp is example.com/سلام-دنیا/signUp with english slug everything ok and working great and whole this proccess is ok in the my localhost but on the cpanel host This problem occurs. my urls.py posts app : `from django import urls from django.urls import path , re_path from . import views urlpatterns = [ path('', views.posts , name='posts'), path('new_post/', views.new_post , name='new_post'), re_path(r'(?P<slug>[^/]+)/?$', views.post, name="post"), ]` in my template: ` <a class="btn btn-sm btn-outline-secondary" href="{%url "login"%}">عضویت/ورود</a> my post function in views.py in posts app: import os from uuid import uuid4 from django.shortcuts import render , redirect from django.contrib import messages from config import settings from posts.forms import CommentForm, PostCreatorFrom from .decorators import user_is_superuser from posts.utils import paginatePosts, searchPosts from .models import Category, Comment, Post from django.core.paginator import Paginator from django.views.decorators.csrf import csrf_exempt from django.http import JsonResponse from pathlib import Path from urllib.parse import unquote from django.views.decorators.http import require_POST from django.utils.text import slugify from django.utils.encoding … -
Define return value after chained mocks
I am using unittest.mock to test my Django application. The set-up is the following: I want to test a function foo foo uses a method X which is a constructor from an external package X is called in foo with some parameters argsA to return an object x x.create_dataset is called in foo with some parameters argsB to return an object ds ds.load is called in foo with some parameters argsC to store data in ds.data ds.data is manipulated (merge, agg...) in foo to create the return value of foo I want to test that the function foo works as expected, knowing the return values of the other functions calls given argsA, argsB, argsC. At the moment, I can't even run my test as I have a TypeError when ds.data is being manipulated : TypeError: expected pandas DataFrame or Series, got 'MagicMock' -
How to use multiple databases in a single Django app?
I'm trying to set up my Django application to use multiple databases within a single app. I have defined different database in my settings.py I have only one app polls. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mypage', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '3306', }, 'ringi_db':{ 'ENGINE': 'django.db.backends.mysql', 'NAME': 'ringi', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '3306', }, } I have added mapping in settings.py DATABASE_APPS_MAPPING = { 'ringi':'ringi_db', } database router is defined like this class dbrouter: def db_for_read(self, model, **hints): if model._meta.app_label == 'ringi': return 'ringi_db' else: return None def db_for_write(self, model, **hints): if model._meta.app_label == 'ringi': return 'ringi_db' else: return None def allow_relation(self, obj1, obj2, **hints): if obj1._meta.app_label == 'ringi' or obj2._meta.app_label == 'ringi': return True return None def allow_migrate(self, db, app_label, model_name=None, **hints): if app_label == 'ringi': return db == 'ringi_db' return None models.py #### Book table should be stored in mypage db #### class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) publication_date = models.DateField() isbn = models.CharField(max_length=13) def __str__(self): return self.title class Meta: db_table = 'book' # Member table should be stored in ringi db # class Member(models.Model): name = models.CharField(max_length=100) email = models.EmailField(unique=True) address = models.CharField(max_length=255) def __str__(self): return self.name … -
Relation does not exist when running Django Unit Tests
I am having trouble running unit tests in my django app when it is running through Jenkins. I have a CI/CD pipeline which runs python manage.py test which is currently failing with the error: django.db.utils.ProgrammingError: relation "auth_user" does not exist. Running tests locally works fine and the test database is normally created and the tests are ran normally. I SSH-ed into the server where Jenkins is set up to try and manually run the tests but I get the same results, so I wouldnt' say it's anything Jenkins specific. The postgres user has all privileges and CREATEDB on the database so postgres side seems to all be good. This is the complete exception: Traceback (most recent call last): File "/home/agent/jenkins/workspace/INP-Backend/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute return self.cursor.execute(sql, params) psycopg2.errors.UndefinedTable: relation "auth_user" does not exist The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/agent/jenkins/workspace/INP-Backend/manage.py", line 22, in <module> main() File "/home/agent/jenkins/workspace/INP-Backend/manage.py", line 18, in main execute_from_command_line(sys.argv) File "/home/agent/jenkins/workspace/INP-Backend/venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line utility.execute() File "/home/agent/jenkins/workspace/INP-Backend/venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 440, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/agent/jenkins/workspace/INP-Backend/venv/lib/python3.9/site-packages/django/core/management/commands/test.py", line 24, in run_from_argv super().run_from_argv(argv) File "/home/agent/jenkins/workspace/INP-Backend/venv/lib/python3.9/site-packages/django/core/management/base.py", line 402, in run_from_argv self.execute(*args, **cmd_options) File "/home/agent/jenkins/workspace/INP-Backend/venv/lib/python3.9/site-packages/django/core/management/base.py", line 448, in execute output = … -
Problems between django and django-filter
My problem is that the django-filter library does not work correctly with the choice fields in django rest framework: model: class Incident(models.Model): caller = models.ForeignKey( 'core.Caller', verbose_name='caller', on_delete=models.PROTECT, related_name='incidents', blank=True, null=True, ) declarant = models.ForeignKey( 'core.Declarant', verbose_name='declarant', on_delete=models.CASCADE, related_name='incidents', blank=True, null=True, ) kind = models.ForeignKey( IncidentKind, verbose_name='kind', on_delete=models.SET_NULL, related_name='incidents', blank=True, null=True, ) duplicate_of = models.ForeignKey( 'self', verbose_name='duplicate', on_delete=models.CASCADE, related_name='duplicates', blank=True, null=True, ) source = models.CharField( 'source', max_length=255, default=consts.IncidentSource.APP, choices=consts.IncidentSource.CHOICES, ) status = models.CharField( 'status', max_length=255, choices=consts.IncidentStatus.CHOICES, default=consts.IncidentStatus.REQUEST_112, ) filter: class Incident(django_filters.FilterSet): description = django_filters.CharFilter(lookup_expr='icontains') declarant_phone = django_filters.CharFilter(field_name='declarant__phone', lookup_expr='icontains') incident_address = django_filters.CharFilter(field_name='address__full_address', lookup_expr='icontains') source = django_filters.ChoiceFilter(choices=consts.IncidentSource.CHOICES, lookup_expr='icontains') status = django_filters.ChoiceFilter(choices=consts.IncidentStatus.CHOICES, lookup_expr='icontains') service = django_filters.Filter(method='filter_service') address_caller = django_filters.CharFilter(field_name='caller__address', lookup_expr='icontains') victims = django_filters.BooleanFilter(method='filter_victims') death = django_filters.BooleanFilter(method='filter_death') dt_create = django_filters.Filter(method='filter_dt_create') incident_moment = django_filters.Filter(method='filter_incident_moment') class Meta: model = models.Incident fields = [ 'is_needs_reaction', 'is_social_significant', 'is_risk_emergency', 'description', 'declarant_phone', 'status', 'source', 'operator', 'incident_address', 'kind', 'service', 'address_caller', 'victims', 'death', 'dt_create', ] Source and status choices field. Error: super()._set_choices(value) AttributeError: 'super' object has no attribute '_set_choices' If I use CharFilter, then the filtering works, but not quite as it should source = django_filters.CharFilter(choices=consts.IncidentSource.CHOICES, lookup_expr='icontains') status = django_filters.CharFilter(choices=consts.IncidentStatus.CHOICES, lookup_expr='icontains') My traceback: Traceback (most recent call last): File "/core/tests/test_incident.py", line 60, in test_update response = self.client.put(self.detail_url) File "/venv/lib/python3.10/site-packages/rest_framework/test.py", line 304, in … -
It is possible django APIView recognize request from django Testcase?
Can I determine if the request has been made from the django testcase when the request is made in django APIView? views.py class BackendView(APIView): filter_backends = (DjangoFilterBackend,) filterset_class = BackendFilter @swagger_auto_schema(responses={200: BackendSerializer()}) @transaction.atomic() def post(self, request, *args, **kwargs): # 1. service call # 2. kafka produce ## Here, I will determine whether the request has been received from the test case and try not to produce kafka if it has been received from the test case. tests.py class PrivateBackendApiTests(TestCase): def test_create_backend(self): payload = {} res = self.client.post(BACKENDS_URL, payload, format="json") self.assertEqual(res.status_code, status.HTTP_201_CREATED) -
How to email generated PDF as email attachment using xhtml2pdf
I am generating a PDF using an HTML template and xhtml2pdf render function. I would like a view that can quickly generate and email that PDF to an email field of the model. Something that doesn't store the pdf file anywhere but just uses a temporary file to email the attachment. I have been getting errors regarding 'bytes-like objects required.' Any help would be appreciated. views.py class Pdf(View): model = Pass def get(self, request, id=None, *args, **kwargs): today = timezone.now() guest = get_object_or_404(Pass,id=id) params = { 'today': today, 'guest': guest, 'request': request } return Render.render('guestpass/pdf.html', params) urls.py path('export/pass/<int:id>/', views.Pdf.as_view(),name='print'), -
Python datetime object does not change date light saving automatically when setting day
I am in NZ and we just ended daylight saving on 7th April, when I change the day of the object back to before daylight saving ends, it does not update the timezone back to +13. from django.utils import timezone In [8]: timestamp = timezone.localtime(timezone.now()) In [9]: print(timestamp) 2024-04-09 14:20:58.907339+12:00 In [10]: timestamp = timezone.localtime(timezone.now()).replace(day=1, hour=19, minute=0, second=0) In [11]: print(timestamp) 2024-04-01 19:00:00.784648+12:00 I have had a quick glance over this https://blog.ganssle.io/articles/2018/02/aware-datetime-arithmetic.html but it was talking about timedelta, is this a known issue? -
APScheduler jobstore
is it possible to add a new field to the DjangoJob model in django-apscheduler? I want to add a new field to relate it to another model, or if it's not possible to add, can I use a custom model instead of the default one? If it's possible, how can it be done? -
How to configure PingFederate SSO with SAML for application where frontend is written in react and backend Puthon django
I'M WORKING ON A PROJECT THAT INTEGRATES PING FEDERATE SSO USING SAML FOR AUTHENTICATION, WITH A FRONTEND DEVELOPED IN REACT AND A BACKEND IN DJANGO (PYTHON). I WOULD APPRECIATE YOUR INSIGHTS ON THE BEST PRACTICES TO IMPLEMENT THIS SETUP Current Understanding of the Authentication Flow: The user initiates a request to the frontend. The frontend redirects the user to the Identity Provider (IdP). The user authenticates on the IdP's website. The IdP sends a signed SAML assertion back to our frontend. Our frontend then forwards this SAML assertion to the backend for processing. Questions: Is this flow correct, or is there a more recommended approach for integrating SAML with a React/Django application? What libraries or tools would you recommend for implementing this flow in both React and Django? How should the backend validate the SAML assertion received from the frontend? I'm particularly interested in any best practices, libraries, or patterns that would make this implementation as secure and efficient as possible. Any advice or resources you could share would be greatly appreciated. -
Django Test Fails with OperationalError on Tenant Deletion in Multi-Tenant PostgreSQL Setup
I'm encountering a specific issue when running test cases in a Django project that involves a multi-tenant PostgreSQL database setup. The process I'm testing is tenant deletion, and it's noteworthy that this error only appears during tests, while the actual application runs without any issues in a actual run. Error Messages: During the test execution, I'm hit with two errors in sequence: django.db.utils.OperationalError: cannot DROP TABLE "model_name_1" because it has pending trigger events django.db.utils.InternalError: current transaction is aborted, commands ignored until end of transaction block Detailed Context: The issue manifests when running a Django test that tests the deletion of a tenant and its associated data. Specifically, the errors are triggered at the line where the tenant is deleted using tenant.delete(force_drop=True). The test case sets up data for models that include foreign key relationships, and it is under these conditions that the errors are observed: def test_tenant_deletion(tenant, monkeypatch): with tenant_context(tenant): model_1.objects.create(name="Test date", process_id="process") model_2.objects.create(name="Test date", model_1=model_1.objects.first()) payload = { "eventId": "abcdef", "type": "DELETED", "tenant": {"tenantId": str(tenant.id)}, } event = Mock(link=Mock(source=Mock(address="delete_tenant")), message=Mock(body=json.dumps(payload))) listener = BTPMessageQueueListener(SOLACE_BROKER_URL, SOLACE_BROKER_USER, SOLACE_BROKER_PASSWORD) listener.on_message(event) assert not Tenant.objects.filter(id=tenant.id).exists() Observations: The operation tenant.delete(force_drop=True) proceeds without errors in a real run. The errors are specific to the testing environment, particularly … -
How do you reference a model name in a Django model mixin field definition?
How do you reference the model name in field definition in a model mixin? Ie, what would replace model_name here: class CreatedByMixin(models.Model): class Meta: abstract = True created_by = ForeignKey( User, verbose_name="Created by", help_text="User that created the record", related_name=f"{model_name}_created", editable=False, ) Such that the related name on this model is 'MyModel_created'? class MyModel(UserAuditMixin, TimeStampedModel): class Meta: db_table_comment = "Participants are the users that are involved in the transcript" field1 = models.TextField() -
what should I choose : Django or Node.js? [closed]
I am a solo developer who has been freelancing for a year, and now I have a project related to CRM on which I am going to work in a team. One of my team members said, Let's go with Django, and the other said, Why don't we use Node?". I am comfortable with both and deciding which to choose! Here is the project outline: we get data from users, generate digital documents, agreements, quotations, and invoices, and mail them to the user accordingly. In short, this project is related to audit services. So, kindly let me know, guys, which stack I should choose with pros and cons. -
Django logging isn't working, despite having proper settings
Problem and background Hi, I have a Django project using Django 2.2.28, and python 3.5.2. The live site runs fine, except for one function I'm trying to debug. I've used logging before, but for some reason it's not working now. Here's my code... production_settings.py I call this file in wsgi.py. It's settings all work as they should, but LOGGING isn't. from .settings import * DEBUG = False LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': '/home/myuser/proj_container/debug.log', }, }, 'loggers': { 'django.request': { 'handlers': ['file'], 'level': 'DEBUG', 'propagate': False, }, }, } views.py import logging logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) def some_func(request): ... if some_condition: logger.debug('In some_condition block') elif some_other_condition: logger.debug('In some_other_condition block') What I've tried I've tried the above with just the settings in production_settings.py... Nothing shows up. Same as 1, but with logging imported and called at every important code block. I read the docs for logger.debug(), as well as this answer that I implemented above as you can see. I also reread the Django logging docs. I moved LOGGING from production_settings.py to settings.py... Yesterday I fixed a bug where django wasn't overriding the DATABASES variable in settings.py from production_settings.py, and was … -
Django HTTPResponseRedirect not redirecting to the url but rather adding the integer to the url
This is my view.py file from django.http import HttpResponse, HttpResponseRedirect, HttpResponseNotFound, Http404, HttpResponsePermanentRedirect from django.urls import reverse from django.shortcuts import render articles = { 'sports': 'sports page', 'finance' : 'finance page', 'tech' : 'tech page', } def home_view(request): return HttpResponse("My App Home Page") def news_view(request, topic): try: result = articles[topic] return HttpResponse(result) except: raise Http404("404 Generic view error") def mul_view(request,num1,num2): num_result = num1 * num2 result = f"{num1} * {num2} = {num_result}" return HttpResponse(str(result)) def num_page_view(request, num_page): topic_list = list(articles.keys()) topic = topic_list[num_page] return HttpResponseRedirect(topic) and this is my url file of the app from django.urls import path from . import views urlpatterns = [ path('<int:num_page>/', views.num_page_view, name='num_page'), # path('', views.home_view, name='home'), path('<topic>/', views.news_view, name='topic-page'), path('<int:num1>/<int:num2>/', views.mul_view, name='multiply'), ] What's happening here is a bit hard to explain for me as english is not my first language but here is my best effort. I have created a function num_page_view that takes a number as a parameter and has a list of all keys of articles dictionary then the number is provided to the list as an index and stored into a variable topic that is then send as the output in the HttpResponseRedirect then i added a a new path …