Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django Project Connect to Google Cloud SQL
I host Database and Django Application separately Server. I have a Google Cloud SQL (PostgreSQL) but I tried many ways to configure Database as Django document DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': '[Your-Cloud-SQL-Public-IP]', 'USER': '[YOUR-USERNAME]', 'PASSWORD': '[YOUR-PASSWORD]', 'NAME': '[YOUR-DATABASE]', } } by filling it with my credential but cannot connect got error like this: line 729, in connect raise ex.with_traceback(None) django.db.utils.OperationalError: connection failed: could not receive data from server: Socket is not connected (0x00002749/10057) could not send SSL negotiation packet: Socket is not connected (0x00002749/10057) Expert please help me to make it works. I am looking the guideline to configure Django project with Google Cloud SQL. -
How can I limit the records that appear in the django forms select2?
The problem is that it loads more than 50.000 articles in the selector and the page takes a long time to load. query_set = Article.objects.all() self.fields["national_foreign_articles"].queryset = query_set.exclude(national_agency=self.instance) self.fields["national_foreign_articles"].widget.attrs["class"] = "select2" I need this or similar -
Docker Compose's integration for ECS and ACI will be retired in November 2023
I try to deploy a docker django container to the Azure cloud. And so I login in with: docker login azure. And I am logged in. SO I am in the local directory wheren the application files are stored. And I try to build the docker image: docker compose -f docker-compose-deploy.yml build But then I get every time this message: (env) PS C:\repos\DWL_backend_Rachid> docker compose -f docker-compose-deploy.yml build Docker Compose's integration for ECS and ACI will be retired in November 2023. Learn more: https://docs.docker.com/go/compose-ecs-eol/ And I can not build or run. I searched for this of course. But I can not find any thying how to tackle this. And I also updated the docker desktop. Question: how to handle the message: ```Docker Compose's integration for ECS and ACI will be retired in November 2023. Learn more: https://docs.docker.com/go/compose-ecs-eol/ ```` -
How can I log in in an API with Python?
Good afternoon, everyone, I have a question about how I can log into an API through Python code. I want to "identify" the API login so that the user can see which invoices are pending, i.e. a user logs in with my Django login, which, at the same time, has to log in to the API. Once logged into the api, I want the api to return the documents that have an id with its assigned tag. I attach below the function that I have made and that connects me to the database. This function does not return any information from the API because of what I said, because first you have to identify which user is logged in. @login_required def f_facturaspendientes(request): # URL de la API a la que deseas conectarte url = 'http://host.docker.internal/api/v4/documents/' try: response = requests.get(url) if response.status_code == 200: # La solicitud fue exitosa, puedes procesar la respuesta aquí data = response.json() # Hacer algo con los datos de la API # Devuelve una respuesta JSON con los datos procesados return JsonResponse({'message': 'Solicitud exitosa', 'data': data}) else: # La solicitud no fue exitosa, maneja el error aquí si es necesario return JsonResponse({'error': 'Error en la solicitud', … -
Django Admin - Add New Object Redirect to List Instead of Object?
I'm using a custom Admin User model with all fields being shown on the ADD NEW USER form. When clicking SAVE under ADD NEW USER in my Admin interface, it opens the continue editing page instead of going back to the User list. How can I redirect back to the list while still keeping the built in Django validation for saving? -
AWS Postgresql DB not accepting TCP/IP
i want to deploy my django app on the free AWS platform and i'm having issues connecting the app to AWS postgresql DB, I've setup the DB and django setting file like this AWS SETTINGS Endpoint RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': connection to server at "ecommerce.cxu8zbmvaiut.us-east-1.rds.amazonaws.com" (172.31.34.128), port 5432 failed: Connection timed out Is the server running on that host and accepting TCP/IP connections? warnings.warn( port '5432' name 'commerce' user: 'hello-world' password '******' Publicly accessible 'Yes' DJANGO SETTING FILE DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'commerce', 'USER':config('user), 'PASSWORD': config('password'), 'HOST': config('endpoint'), 'PORT': config('port') } } but when i try to make migrations from my AWS console i get this error message RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': connection to server at "ecommerce.cxu8zbmvaiut.us-east-1.rds.amazonaws.com" (172.31.34.128), port 5432 failed: Connection timed out Is the server running on that host and accepting TCP/IP connections? warnings.warn( can anyone help out thanks -
Django - Annotate count of related objects
Let's assume the next models: class A: b=models.ForeignKey("B") class B: pass I want to annotate queryset of B count of related A objects def annotate_count_a(b_queryset): /* ..... */ How to do? Thanks -
Algolia: define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
Requested setting ALGOLIA, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. I've tried: 1 export DJANGO_SETTINGS_MODULE=Website.settings (I checked to be Website.settings when I turned on the server(python manage.py runserver)) 2 to specify PYTHONPATH 3 I've also checked the API KEYS to be valid and have the right installed apps in INSTALLED_APPS INSTALLED_APPS=[ ... "algoliasearch_django", ... ] ALGOLIA = { 'APPLICATION_ID': ' ', 'API_KEY': ' ' } chatgpt And still couldn't figure it out. TO REPLICATE THE PROBLEM: SIMPLE DJANGO PROJECT + ALGOLIA Thanks! -
create users base on other a certain user
I want to create a django project like stock management systems for multiple companies, but I want the staff of a specific company can only have access their company profile and stocks. case study like multi school management system, if a school register, their staffs can have full access to their school app. I tried a OneToMany relationship but I don't Know how to do the Auth and restrict the users to only there domain. -
'function' object has no attribute '__func__' issue with graphene django
TypeError: UserProcessOptionsNode fields cannot be resolved. 'function' object has no attribute '__func__' This issue is caused when I upgrade graphene-django from 2.15.0 to 3.1.5. -
Problems connecting a Rest API to my Django project
I'm having a lot of problems connecting a REST API, in this case the Mayan Edms one, with my Django application. I want to make all the documents that arrive or simply that are in my mayan, I can see it in my Django interface. Can anyone give me a hand? Below, I attach the code of the function that I have tried to do and that does not work. @login_required def f_facturaspendientes(request): # URL de la API a la que deseas conectarte url = 'http://localhost/api/v4/documents/' try: # Realiza una solicitud GET a la API response = requests.get(url) # Comprueba si la solicitud fue exitosa (código de estado 200) if response.status_code == 200: # Convierte la respuesta JSON en un diccionario de Python datos = response.json() return datos else: # Si la solicitud no fue exitosa, maneja el error según tu necesidad return {"error": "La solicitud a la API falló"} except requests.exceptions.RequestException as e: # Maneja excepciones de solicitudes HTTP (por ejemplo, problemas de red) return {"error": f"Error de solicitud: {e}"} I need to know how to connect so I can see things in my mayan in my Django GUI. Thank you. -
How to solve the 404 error for Django rest Api deployed to IIS
Hello everyone I need some help for Django rest api deployment related. I deployed django rest api on IIS server its worked perfect for that day in another day I checked again same deployed URL its showing 404 page not found like that so can any one help for this issue. I need solution for this error or I need any proper tutorial for deploying Django rest api on IIS server side. Thanks. -
Celery worker processes django task but does not execute
I am a beginner. I have a django project in which I am trying to add a functionality where I send a welcome email when a user signs up. I am using the django development server on 127.0.0.1:8000, a celery worker, and a docker container running redis on redis://127.0.0.1:6379. When I sign up a test user, no welcome email prints to the console (current email config is EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' so that would be the expected result. Contents of my tasks.py @shared_task def send_welcome_email(user_email): print("send welcome email started") subject = 'Welcome to My Website' message = 'Thank you for registering at My Website!' from_email = 'noreply@mywebsite.com' recipient_list = [user_email] print(f"Sending email to {user_email}") send_mail(subject, message, from_email, recipient_list) print("Email sent") I have done necessary configuration such as adding the celery app to my project's init.py, adding Celery settings (broker URL and result backend), a celery.py file in my django project, and I have also confirmed that Celery is connected to my redis database. When I check the status of the task with Flower, I see that a Celery worker has received the task, and it is listed under 'Processed', but does not move to Failed or Succeeded, and as stated, no … -
Trying to fix a Django error calling a Module that doesn't exist for an SQLite Database
I'm designing a website using Django and SQLite, using Models to parse information between the database and the front-end. I'm encountering errors that are limiting my developmental process, as I'll explain below. For reference, here's the code that I'm using with my Models: # Internal = 0, Derived = 1. class Grade(models.Model): name = models.CharField(max_length=100, default="null") # classPage = models.ManyToManyField(classPage, related_name="_set") amegrade = models.CharField(max_length=10, default="null") description = models.CharField(max_length=500, default="null") type = models.BooleanField(default=1) class Student(models.Model): studentName = models.CharField(max_length=50, default="null") age = models.CharField(default="13", max_length=3) house = models.CharField(max_length=10, default="null") bday = models.CharField(default="null", max_length=50) class classPage(models.Model): teacher = models.CharField(max_length=50, default="null") # classStudents = models.ManyToManyField(Student, related_name="_set") class timetableItem(models.Model): name = models.CharField(max_length=50, default="null") timeStart = models.CharField(max_length=50, default="null") timeEnd = models.CharField(max_length=50, default="null") class dailyTimetable(models.Model): timetableItems = models.ManyToManyField(to=timetableItem) class weeklyTimetable(models.Model): monday = models.OneToOneField(to=dailyTimetable, on_delete=models.CASCADE) class sideViewButton(models.Model): name = models.CharField(max_length=100, default="null") directory = models.URLField(max_length=100, default="null") class Notice(models.Model): title = models.CharField(max_length=50, default="null") description = models.CharField(max_length=10000, default="null") I'm using Models in my Database to store information. That works all well and dandy, but I'm trying to migrate new changes to the project using python3 manage.py migrate, and I'm getting thrown an error that "TypeError: fromisoformat: argument must be str". I use Google Bard to help diagnose the issues and the over … -
I can't getting input fields in blog page but i written code for input fields in html page
I can't getting input fields in blog page but i written code for input fields in html page First i added some reactions you may see in my page it is saved in my sql server, i want to input fields to react for my post and those reactions(comments) should be displayed in below for my blog but input fields are hidden i am unable to see it, with my knowledge i written this below code but i can't getting input fields like email and comment box, i'm trying to display those reaction in same page index.html ''' forms.py from django import forms from . models import user_response class userfield(forms.ModelForm): class Meta: model = user_response fields='__all__' models.py from django.db import models # Create your models here. class user_response(models.Model): userName = models.CharField(max_length=15) userEmail = models.EmailField() message = models.TextField() def __str__(self): return self.userName, self.userEmail urls.py from django.urls import path from . import views urlpatterns = [ path('userdata/',views.userdata, name='userdata'), ] views.py from django.http import HttpResponse from django.shortcuts import redirect, render from . models import user_response from . forms import userfield # Create your views here. def userdata(request): if request.method == 'POST': form = userfield(request.POST) if form.is_valid(): form.save() return redirect(request, '../templates/index.html') else: form = … -
Django Snippets/Updating Primary Key
I have a client that requested (after launch) to start their records at a very large number (3,000,000). The model itself has at least 10 relationships/reverse relationships all through FK, established with "on_delete=CASCADE". Originally I was working with this snippet: https://djangosnippets.org/snippets/10619/, which gave quite a few errors. After some formatting (removing %s formatting for easier to read f-string formatting), the script ran but gave the dreaded: Cannot delete or update a parent row: a foreign key constraint fails. I am looking at any sort of way to get the 100 or so records (and their respective relationships) to update accordingly. I have already updated the MYSQL database to start numbering from the last record + 3,000,000 so that any resulting scripts should not result in a collision keeping the PK restraints. I believe there used to be a way to do this via a simple model.objects.all().update(id=F('id')+3000000), but this also has failed in Django 4.2. Any help is appreciated. d -
htmx isn't call in meta widgets
I'm trying to validate a field in a crispy form in Django using htmx: class Foo( forms.ModelForm ): id = forms.CharField( label='Id', disabled="true") # WORKING local_amount = forms.DecimalField( label='Local Amount', required=True, max_digits=10, decimal_places=2, widget=forms.TextInput(attrs={ 'type': 'number', # Use 'number' type for numeric input 'hx-get': reverse_lazy('check_amount'), 'hx-trigger': 'change', # Trigger the request when the value changes }) ) class Meta: model = Cost_schedule_org_unit fields = ['id','cost_schedule', 'local_amount',.....] # NOT WORKING IN THIS WAY widgets = { 'local_amount' : forms.TextInput(attrs={ 'type': 'number', # Use 'number' type for numeric input 'hx-get': reverse_lazy('check_amount'), 'hx-trigger': 'change', }) } The htmx call is working in the first way but not on the second way? -
Authenticating a user's identity using date of birth
I have a question regarding my implementation of an authentication system based on date of birth. I am using Django, but I think this question can be generalized. The use case is that the server already knows two things about the user, without them having made an account: a code uniquely assigned to them, and their date of birth. I want to use the combination of these things to authenticate their identity and display sensitive information that belongs specifically to them. I am trying to understand the best way to do this. Since the user will not be using this website very often, I do not want them to create an account. Currently my thought process is: user opens webpage with the unique token in the url and enters date of birth. Server validates the token and date of birth and informs the client. On subsequent requests to the server, include date of birth as a header or data field, and perform the same validation on the back-end. Would this work? Are there superior implementation patterns? -
Django: Separate Databases for Development, Test, and Production Environments - Migrations Not Applying
In my Django project, I'm trying to configure separate databases for the development, test, and production environments. To achieve this, I've made changes to my settings.py and created separate settings files: settings_development.py, settings_test.py, and settings_production.py. settings.py """ Django settings for mysite project. Generated by 'django-admin startproject' using Django 4.2.5. For more information on this file, see https://docs.djangoproject.com/en/4.2/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/4.2/ref/settings/ """ import os from dotenv import load_dotenv from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent load_dotenv() # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = os.getenv('SECRET') # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ['127.0.0.1', 'localhost'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', '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 = 'mysite.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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 = 'mysite.wsgi.application' # Database # https://docs.djangoproject.com/en/4.2/ref/settings/#databases # DATABASES = { # 'default': … -
I'm trying to use inline forms and updateView, but is not working
I'm using django inline forms and crispy forms to make a CRUD, but I've changed the structure a little bit and the update i'snt working I created a forms.py to organize the inputs of the regular form and the inline form, using HTML inside it. 'Forms.py' class RegistroForm(forms.ModelForm): cliente = forms.ModelChoiceField(queryset=Cliente.objects.all(), empty_label='Selecione um cliente...') class Meta: model = Registro fields = ['cliente','totalPedido', 'tipo', 'vendedor', 'nome', 'cpf', 'email', 'rg', 'cidade', 'telefone', 'numero', 'rua', 'bairro', 'data'] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # Personalize o layout dos campos usando Crispy Forms self.helper = FormHelper() self.helper.form_class = 'form' self.helper.layout = Layout( HTML( ''' <div class="container-fluid"> <div class="col-sm-9 col-md-8 m-auto"> {% csrf_token %} <select class="form-select no-focus" id="id_cliente" name="cliente" onchange="update_cliente_data()"> <option value="" data-cliente='{"nome": "", "cpf": "", "email": "", "rg": "", "cidade": "", "telefone": "", "numero": "", "rua": "", "bairro": ""}'>Selecione um cliente...</option> {% for cliente in form.cliente.field.queryset %} <option id="opcao{{cliente.id}}" value="{{ cliente.id }}" data-cliente='{"nome": "{{ cliente.nome | title }}", "cpf": "{{ cliente.cpf }}", "email": "{{ cliente.email }}", "rg": "{{ cliente.rg }}", "cidade": "{{ cliente.cidade | title }}", "telefone": "{{ cliente.telefone }}", "numero": "{{ cliente.numero }}", "rua": "{{ cliente.rua | title }}", "bairro": "{{ cliente.bairro | title }}"}'>{{ cliente.nome | title }}</option> {% endfor %} </select> … -
Oracle "ORA-00942: table or view does not exist" using Django with multiple databases/schemas
I recently had to change up my Django back end to accommodate a "restricted database user". Instead of querying the database using the database admin user that is responsible for making/migrating migrations, a user with SELECT, INSERT, UPDATE, and DELETE on only the necessary tables was created. I set up the databases in settings.py like so: DATABASES = { 'default': {'ENGINE': 'django.db.backends.oracle', 'NAME': 'dbname', 'USER': 'restricted', 'PASSWORD': '*********', 'HOST': '*******************', 'PORT': '****', }, 'migrations': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'dbname', 'USER': 'admin', 'PASSWORD': '*********', 'HOST': '*********************', 'PORT': '****', }, } With the databases set up like this, any queries that are executed from your views go through the "default" restricted user, and the admin user is only there for migrations. To migrate, you would run - python manage.py makemigrations (this command does not change as it does not care about the database user) and then python manage.py migrate --database=migrations After doing this, none of my views worked, and I discovered the reason why. The next step that I had to do was to change all of the db_table values in my models.py to match the schema of the new user. So any db_table values went from this db_table = 'items' to … -
Django Middleware check if page contents was cached
I have a middleware that manages and denies access based on trial info stored in the user model. One aspect of it is that it increments the request count by 1 each time. But also on a lot of endpoints, we have the results returned cached using method_decorator. Is there a way to see if the page they're accessing is cached or not, so that I can avoid incrementing their request count if they would be using a cached result? -
How to add particular css classes to the checkboxes generated by a django MultipleChoiceField?
I have a django form that renders an MultipleChoiceField. In the __init__ part I define the choices for my field as a tuple. class MyForm(forms.ModelForm): my_field = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple(attrs={'class': 'flat'})) ... def __init__(self, *args, **kwargs): super(MyForm, self).__init__(*args, **kwargs) datas = Mymodel.objects.all() datas.sort(key=itemgetter('foo', 'bar')) datas_grouped = groupby(datas, key=itemgetter('foo')) choices = tuple() for foo, items in datas_grouped: items = tuple((i.get('label'), i.get('label')) for i in list(items)) choices += ((foo, items),) self.fields["my_field"].choices = choices The checkboxes are rendered as this: <input type="checkbox" name="my_field" value="Baz" class="flat" id="id_my_field_0_0"> I would like to render some checkboxes with a particular css class. The goal is to be able to target them in javascript to make grouped selections. How can I access each checkbox individually, in python, in order to add a class? -
How to design a dynamic gamification microservice in django
I want to implement a gamification microservice with Django that works alongside other microservices. In this microservice, I want to have points, ranks, coins, badges and credit cards for each user. Points: A number that is earned based on the user’s activity and this activity is not limited to purchase operations and can be earned by performing any kind of activity. Uses of points include increasing rank, buying discount codes and increasing lottery chances. Rank: For example, you can have 5 ranks for users and rank them based on the total points they have earned so far. The ranks can be named from “Newcomer” to “Professional” level. Special benefits are provided for each rank, which may include discounts, various notifications, coefficient in getting rewards, etc. Coins: Only earned for financial transactions. The higher the transaction amount, the more coins the user earns. You can get benefits other than discount codes through coins. Badge: They are awarded to a person for repeating a specific activity. Having badges gives the user special advantages. Credit card: A type of credit for in-app and out-of-app purchases. For example, you can buy a credit card for a specific product with a credit of $100 for … -
Nearest int query inside a json field object
I have a gigantic db with a json field object storing around 30 sub-objects per entry. Looks like that: { "field1": {"someOther": "stuffInside", [...]}, "field2": {"someOther": "stuffInside", [...]}, [...] } All these fields contain one field with a bigint. My objective is to be able to match the closest entry from a given int, for that purpose I made a function that does exactly that: def get_closest_match( field: str, match: int, model: django.db.models.Model, return_all_match: bool = False, sub_filter: dict or None = None, ): log.debug(f"Finding nearest in {model.__name__} with {field} {match}") result = model.objects.annotate(abs_diff=Func(F(field) - match, function='ABS')) if sub_filter: result = result.filter(**sub_filter) result = result.order_by('abs_diff') if not return_all_match: return result.first() return result While this function works great for int fields, I wasn't able to make it compatible with jsonfields, is there a way to make my function work with an int inside a jsonfield ? My first idea was to make a separate table storing only those bigints so I could use my method, which in fact works, but as mentionned above, each entry has around 30 objects and I have millions of entries so performance wise it is not very optimal (It also make data duplication which is not …