Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)
I am successfully able to send an HTTP GET request using Python 3.9. However, when attempting the same request using Django 4.2 and Python 3.10, it fails to work as expected. import requests headersa = { 'accept': 'text/plain', 'x-api-key': 'pgH7QzFHJx4w46fI~5Uzi4RvtTwlEXp' } url = "https://10.11.11.66:1003/config/v6/servers" try: response = requests.get(url=url, headers=headersa, verify=False, timeout=50) print(response.text) except requests.exceptions.RequestException as e: print("An error occurred:", e) When I use Python 3.9, I am able to send an HTTP GET request without any issues, and it functions correctly. However, when I attempt to send the same HTTP GET request within the context of a Django 4.2 project using Python 3.10, I encounter errors or unexpected behavior. -
sqlite3.OperationalError: no such table: auth_user
I'm developing a simple app using Django. I am done with the development and I'm trying to push to Heroku server. I get this error if I try to create a superuser You have 21 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, journpys, sessions. Run 'python manage.py migrate' to apply them. Traceback (most recent call last):`File "/app/.heroku/python/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute return self.cursor.execute(sql, params) File "/app/.heroku/python/lib/python3.10/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute` return super().execute(query, params) sqlite3.OperationalError: no such table: auth_user I need help in fixing this error. Thanks. All migrations have been done locally and using the Heroku run python manage.py migrate command with no issues. I have also looked at some articles on solutions to this error but none seemed to work. -
Django URL Namespace: Do All URLs Require Prefixes?
I created a URL namespace by specifying app_name in the app's URL module. However, now I am getting a NoReverseMatch error when using a named URL in my template without the namespace prefix. Is the namespace prefix required for all URLs if one is specified (even if there is no ambiguity)? -
create dynamic html templates to serve all clients in my django project
I created a customer registration system for a monthly water consumption billing system now my system for each customer that I add I have to create a new table in the database and create the same html templates again to be able to work on the entire billing process now I have to change the way of adding a customer so I don't have to make several forms for each customer now I want to make a single form to serve all customers and I will also make a single table in the database to register more customers a billing table which will have the client's foreign key so I don't know how to start making dynamic forms just click on it to open the form and show only the customer data I want to invoice I ask for help on how to do this process -
Is there a better and more efficient way to check if a parameter is in request data to apply to django query filter?
I am building a REST API using Django, in the views I want to query models based on an unknown quantity of fields (as supplied in the front end as required). Previously I have been checking every combination possible for the incoming parameters to see if they are in the request data - if so, apply them to the query. However as the number of possible parameters increase (one of my current projects has 6 possible parameters), the number of permutations becomes too large. Is there a more efficient way of achieving the below? if 'A' in request.GET['A'] and 'B' in request.GET['B'] and 'C' in request.GET['C']: query_1 = model_1.objects.filter(a=request.GET['A'], b=request.GET['B'], c=request.GET['C']) elif 'A' in request.GET['A'] and 'B' in request.GET['B']: query_1 = model_1.objects.filter(a=request.GET['A'], b=request.GET['B']) elif 'B' in request.GET['B'] and 'C' in request.GET['C']: query_1 = model_1.objects.filter(b=request.GET['B'], c=request.GET['C']) elif 'A' in request.GET['A'] and 'C' in request.GET['C']: query_1 = model_1.objects.filter(a=request.GET['A'], c=request.GET['C']) elif 'A' in request.GET['A']: query_1 = model_1.objects.filter(a=request.GET['A']) elif 'B' in request.GET['B']: query_1 = model_1.objects.filter(b=request.GET['B']) elif 'C' in request.GET['C']: query_1 = model_1.objects.filter(c=request.GET['C']) -
Django formset: {{form.instance.ide}} return record value in template but do not work in {% url 'ecrf:traitement_delete' form.instance.ide %}
I try to implement Django formset. I manage the basic (i.e. create and update records) but I would like to be able to delete a formset (and later add dynamically a new formset). But to do that, I need to get access to record id (PK field is named 'ide' in my model). But in my template, if I render {{form.instance.ide}} for each formset, it return the correct value but if I try to use it in url to set url to delete, it doesn't works as form.instance.ide return None inside url tag. Do not understand difference between using form.ide (that do not return the value in my case) and form.instance.ide? -
Access Powershell Output from $admins=Get-LocalGroupMember -Group "administrators"` in Django app
I´m trying to access the Powershell Output from $admins=Get-LocalGroupMember -Group "administrators" in my Django app. views.py def psAPI(request): if request.method == 'POST': admins=request.POST['admins'] print(admins) return HttpResponse(status=200) Ps Script $admins=Get-LocalGroupMember -Group "administrators" $Body =@{ "admins"=$admins } Invoke-WebRequest -Uri <url>/psAPI/ -Method Post -Body $Body wanted Ouptut in Python ObjectClass Name PrincipalSource ----------- ---- --------------- User DESKTOP-*******\Administrator Local the Output I got System.Object[] -
Authorization backend function called twice in Django
I've implemented apple sign-in following this article: https://github.com/truffls/sign-in-with-apple-using-django/blob/master/backend.md Code: import jwt import requests from datetime import timedelta from django.conf import settings from django.utils import timezone from social_core.utils import handle_http_errors from social_core.backends.oauth import BaseOAuth2 class AppleOAuth2(BaseOAuth2): name = 'apple' ACCESS_TOKEN_URL = 'https://appleid.apple.com/auth/token' SCOPE_SEPARATOR = ',' ID_KEY = 'uid' @handle_http_errors def do_auth(self, access_token, *args, **kwargs): response_data = {} client_id, client_secret = self.get_key_and_secret() headers = {'content-type': "application/x-www-form-urlencoded"} data = { 'client_id': client_id, 'client_secret': client_secret, 'code': access_token, 'grant_type': 'authorization_code', } res = requests.post(AppleOAuth2.ACCESS_TOKEN_URL, data=data, headers=headers) response_dict = res.json() id_token = response_dict.get('id_token', None) if id_token: decoded = jwt.decode(id_token, '', algorithms=["ES256"], options={"verify_signature": False}) response_data.update({'email': decoded['email']}) if 'email' in decoded else None response_data.update({'uid': decoded['sub']}) if 'sub' in decoded else None response = kwargs.get('response') or {} response.update(response_data) response.update({'access_token': access_token}) if 'access_token' not in response else None kwargs.update({'response': response, 'backend': self}) return self.strategy.authenticate(*args, **kwargs) def get_user_details(self, response): email = response.get('email', None) details = { 'email': email, } return details def get_key_and_secret(self): headers = { 'kid': settings.SOCIAL_AUTH_APPLE_ID_KEY }**strong text** payload = { 'iss': settings.SOCIAL_AUTH_APPLE_ID_TEAM, 'iat': timezone.now(), 'exp': timezone.now() + timedelta(days=180), 'aud': 'https://appleid.apple.com', 'sub': settings.SOCIAL_AUTH_APPLE_ID_CLIENT, } client_secret = jwt.encode( payload, settings.SOCIAL_AUTH_APPLE_ID_SECRET, algorithm='ES256', headers=headers ) return settings.SOCIAL_AUTH_APPLE_ID_CLIENT, client_secret Authorization succeeds, i receive access token from apple but after that function do_auth is … -
Why does Django give a warning about unapplied migrations and how to fix it?
I started learning Django and i find a warning message: " You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them.". What is the reason behind this warnings Just want to know this -
Django - get value from html select options that have been generated in a loop
i have a html page where i have set up a loop to list band names on a page. I also have a select option box so users can rate bands they have seen. Problem is because each of the select options is generated in my loop i don't know how i'm going to access each rating back in my views.py file. Please help? html code {% for band in thursday_apex %} <li> {{ band.band_name }} {{ }} <select name="thursday_apex"> <option value="0">Didn't watch</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </li> {% endfor %} -
How do I add the project title to the project_details url's (slug) on this django project
I've been stuck trying to add the project title to the project_details urls (slug). The issue is, I would rather achieve this without changing the models.py as this would create complications with the db... Is there a way to achieve this with just changes to the veiws.py, urls.py and the link tag? Here is my code, any help is much appreciated... from django.shortcuts import render from django.views.generic import TemplateView from django.shortcuts import get_object_or_404 from .models import ProjectPost from django.db.models import Q from django.db.models import F from django.core.paginator import Paginator class ProjectsView(TemplateView): template_name = 'projects.html' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) project_post = ProjectPost.objects.order_by('-created_at') paginator = Paginator(project_post, 6) # Display 6 posts per page page_number = self.request.GET.get('page') page_obj = paginator.get_page(page_number) context['page_obj'] = page_obj return context class ProjectDetailsView(TemplateView): template_name = 'project_details.html' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) project_id = self.kwargs.get('project_id') project = get_object_or_404(ProjectPost, pk=project_id) context['project'] = project return context urls.py file: from django.urls import path from .views import ProjectsView, ProjectDetailsView urlpatterns = [ path('projects/', ProjectsView.as_view(), name='projects'), path('project_details/<int:project_id>/', ProjectDetailsView.as_view(), name='project_details'), ] For safe measure here is the models however I would like to achieve adding the title without adding a slug field if possible from django.db import models from ckeditor.fields import RichTextField from … -
Django ORM get data by pagination in query level?
I'm using Django ORM to get Employee modal data, but I have 1000-2000 data of employees in that table, now I want to get only one-page data at a time, for this raw query for 3rd page work like: SELECT * FROM employee LIMIT 30 OFFSET 60; and its ORM version is like this: page_number = 3 records_per_page = 30 offset = (page_number - 1) * records_per_page employees = Employee.objects.all().order_by('id')[offset:offset+records_per_page] I want to know if is this correct to use when a large number of data. Because here it gets Employee.objects.all() and then it offset records or it's working principle is different way??? -
How to calculate employee overtime and weekend pay in Django?
I have a problem with my django project. I'm trying develop a extra hours system but I don't know how to do it. I want to know how much I have to pay an employee for each month in overtime and weekends done. I have this model in django: ` class EmployeeExtra(models.Model): employee = models.ForeignKey(employees, on_delete=models.DO_NOTHING, verbose_name='Employee') job = models.ForeignKey(jobs, on_delete=models.DO_NOTHING, verbose_name='Job') date = models.DateField(verbose_name='Date') extra_hours = models.IntegerField(verbose_name='Extra Hours') price_extra_hour = models.ForeignKey(PriceExtraHours, default= True, on_delete=models.DO_NOTHING, verbose_name='Price Extra Hour') weekends = models.IntegerField(verbose_name='Weekends') price_weekend = models.ForeignKey(PriceWeekends, default= True, on_delete=models.DO_NOTHING, verbose_name='Price Weekend') ` Thank you! I didn't try anything because I have a blockage and I don't know where to start -
How do I deploy my Django project using PythonAnywhere?
Deploy Python / Django - Free Hosting Hosting Steps Server exit - ctrl+C press pip freeze > requirements.txt //this will create a file requirements.txt to our project that show all of our installed python libraries used in our project In vs code, right click our root project folder containing src and venv .click ‘reveal in file explorer’ or shift+alt+R or open our root folder. Then right click project folder in src.click ‘add to projectname.rar’ //compress to rar file. This file will be uploading to host the django project Go to pythonanywhere.com Sign up Create a beginner account Go to dashboard- click files - upload a file-then uload our ‘projectname.rar’ file Go to dashboard - click consoles - new console - click bash - this will open a terminal in browser Type pwd in cmd shows our current folder Type ls to show current files in the folder Type unrar x projectname.rar //to unzip our project file If it is zip file , then type unzip x projectname.zip ls - shows our project folder cd projectname/ ls - shows our files like manage.py,requirements.txt,.. Three lines right side, click help, django deploy , copy paste below code, Type mkvirtualenv –python=/usr/bin/python3.8 venv //this … -
Django templates loading issue
I have folder outside the djangoproject name custom_templates.I want to load only this templates from disk not from template caching. Everytime when i make changes in those templates dynamically ,template is loaded from cache not from disk.Thus iam unable to get updated content on web page. and my question is how to load templates from custom templates from disk in test and production servers where debug is set to False? template = loader.get_template(f'{path}/{theme_status}/html/private/base_template.html') This code is used to load template but iam getting template from cache -
?e=1 django in custom template
I need to display some aggregated data in my custom template. If i am not getting any params, i want to display the information the last month, othervise for the given period. But when no parameter is given, django tries to redirect me. How can i avoid this redirect? @admin.register(EmployeeStatistics) class EmployeeStatysticsAdmin(admin.ModelAdmin): change_list_template = 'admin/employee_amount_statistics.html' list_filter = ( ('created', DateRangeFilter), ) def get_queryset(self, request): params: dict = request.GET from_date = params.get('created__range__gte') to_date = params.get('created__range__lte') qs = super().get_queryset(request) if not params: # for the last month employee_data = qs.filter(created__date__gte=datetime.today() - timedelta(days=30))\ .aggregate( total_employees=Count('id'), new_employees=Coalesce(Sum(Case(When(is_fired=False, then=1), output_field=IntegerField())), Value(0)), fired_employees=Coalesce(Sum(Case(When(is_fired=True, then=1), output_field=IntegerField())), Value(0)) ) else: employee_data = qs.filter(created__date__gte=convert_date(from_date), created__date__lte=convert_date(to_date))\ .aggregate( total_employees=Count('id'), new_employees=Coalesce(Sum(Case(When(is_fired=False, then=1), output_field=IntegerField())), Value(0)), fired_employees=Coalesce(Sum(Case(When(is_fired=True, then=1), output_field=IntegerField())), Value(0)) ) return employee_data def changelist_view(self, request, extra_context=None): aggregated_data: QuerySet = self.get_queryset(request) response = super().changelist_view( request, extra_context=aggregated_data, ) return response -
Why time elapsed b/w `def startTest ` and `def stopTest` is coming very small when running django test with --parallel? [closed]
I have written a script to calculate time elapsed to run a django test. I'm doing it by calculating the time elapsed b/w def startTest and def stopTest. But when I'm running with --parallel flag it's coming very small? And yes I'm using shared resource(file), to store the time elapsed of each test. -
How to remember class active on page reload
I'm new, please tell me if it's possible to do this: there are navigation tabs on the page, I want the selected tabs to be active when the page is reloaded. So that the class="nav-link active" is remembered before reloading the page and automatically applied after reloading. P.s. while compiling the question, I came across sessionStorage, judging by the description, this is exactly what I need, explain to me, please, how can I apply this to my example? <nav> <div class="nav nav-tabs justify-content-center" role="tablist"> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#region-{{ department.id }}" type="button" role="tab" aria-controls="region-{{ department.id }}">{{ department.department_name }</button> </div> </nav> <div class="tab-content"> <div class="tab-pane fade" id="region-{{ department.id }}" role="tabpanel"></div> </div> -
Celery task creating duplicate queues on high load
We have a shared task name create_child in celery and binding with queue child_A be below definition.. @shared_task(bind=True, queue="child_A") def create_child(self, **kwargs): When there is high load on create_child task we are experiencing in redis there is two queues got created. One is "_kombu.binding.child_A" and second is child_A. This causes some data loss and also after some time there is no data coming in celery worker, because the queue is not cleared. We are using redis as a broker for celery. Python version: 3.10 Celery version: 5.2.7 -
User can't create objects in the page
I made a program where users put their expenses to keep track of them, after they create their own account. So they fill 4 fields: customer,category, price and month, i would like that the first field(customer) is the same user that logged the account, because now, the user can choose from all 'customers'. But the other problem is that the users cannot create an object, i can only create it in the admin dashboard. Because when i try in the page it throws me this: "error: RelatedObjectDoesNotExist at / User has no customer". And i think that problem may be related to this: I notice that in the admin page, the users are add in the "authentication and authorization" section, inside the "Users". But they should be in "Customers" , created by my app alongside "Finance"(where objects are stored). Before putting my code, I summarize: I want the first field to be the same that the user who logged in. I want the user to be able to create an object from the page (i dont understand why it doesnt allow me anymore, a while back i could do it without problem) Thank you so much for your help. Model: … -
What does 'was not closed' mean in this Django error message?
my urls.py will not allow Django to run the server. The error message visual studio code gives when I hover over the red squiggly line that visual studio gives over the url patterns [ is: "[" was not closed. Can anyone explain to me what that error message means and how to solve it? Also, I am trying to get my Django server to run the server on its own. But it will not open the main page. It was able to run the other paths when I put the url after the /'finance' or /'ingredients' respectively but that was before the bug popped up. I am certain the error is tied to preventing Django to load the server. urls.py from django.contrib import admin from django.urls import include, path from django.http import HttpResponse urlpatterns = [ # <----- error is on this thing path('admin/',name ='inventory' admin.site.urls), path('finance/', finance, name='finance'), path('home/', home, name='home'), #I am attempting to connect the home_view function with the views function. path('ingredients/', ingredients, name='ingredients'), path('menu/', menu, name='menu'), path('purchases/', purchases, name='purchases'),] views.py def finance(request): return HttpResponse('Here are our business results') def home(request): return HttpResponse def ingredients(request): return HttpResponse('Here is the ingredients page') def menu(request): return HttpResponse('Here is the … -
Search Customers that are part of the logged on User's Business?
The code I currently have is this, in my views.py I can't figure out how to set up my search function. All other functions work. models.py class User(AbstractUser): """User can be Employee or Customer""" class Business(models.Model): business = models.CharField(max_length=50) class BusinessOwner(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, null=True ) business = models.ForeignKey(Business, on_delete=models.CASCADE, null=True) class Customer(models.Model): """ Customer-specific information """ user = models.OneToOneField(User, on_delete=models.CASCADE, null=True ) business = models.ForeignKey(Business, on_delete=models.CASCADE, null=True) class Employee(models.Model): """ Employee-specific information """ user = models.OneToOneField(User, on_delete=models.CASCADE, null=True) business = models.ForeignKey(Business, on_delete=models.CASCADE, null=True, blank=True)` forms.py class CustomerFilter(django_filters.FilterSet): business = django_filters.CharFilter(name='business', lookup_expr='icontains') customer = django_filters.CharFilter(name='customer', lookup_expr='icontains') user = django_filters.CharFilter(name='user', lookup_expr='icontains') class Meta: model = Customer fields = ['business', 'customer', 'user', ] class UserForm(UserCreationForm): class Meta: model = User fields = ( "username", "email", "password1", "password2", "first_name", "last_name", ) class BusinessOwnerForm(forms.ModelForm): . . . no fields class EmployeeForm(forms.ModelForm): . . . no fields class CustomerForm(forms.ModelForm): . . . no fields class BusinessForm(forms.ModelForm): class Meta: model = Business fields = ( "business", ) views.py (user creation process) #I am really not sure what to do in my view here. def searchUsers(request): results = [] if request.method == "GET": query = request.GET.get('search') if query == '': query = 'None' results = User.objects.filter(Q(customer__icontains=query)) … -
how do I fix NoReverseMatch error when i trying convert to class base my code?
I have some code and when it executes, it throws a No Reverse Match, saying: What does this mean, and what can I do about it? I m trying convert my code to class base and name space for my app. I have some code and when it executes, it throws a NoReverseMatch, saying: NoReverseMatch at /dashboard/leads/6/ Reverse for 'delete' with arguments '('',)' not found. 1 pattern(s) tried: ['dashboard/leads/(?P[0-9]+)/delete/$'] view.py class LeadDetailView(DetailView): model = Lead @method_decorator(login_required) def dispatch(self, *args, **kwargs): return super().dispatch(*args, **kwargs) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['form'] = AddCommentForm() def get_queryset(self): queryset = super(LeadDetailView, self).get_queryset() return queryset.filter(created_by=self.request.user, pk=self.kwargs.get('pk')) class LeadDeleteView(DeleteView): model = Lead success_url = reverse_lazy('leads:list') @method_decorator(login_required) def dispatch(self, *args, **kwargs): return super().dispatch(*args, **kwargs) def get_queryset(self): queryset = super(LeadDeleteView, self).get_queryset() team = self.request.user.userprofile.active_team return queryset.filter(team=team, pk=self.kwargs.get('pk')) def get(self, request, *args, **kwargs): return self.post(request, *args, **kwargs) class LeadUpdateView(UpdateView): model = Lead fields = ('name', 'email', 'description', 'priority', 'status',) success_url = reverse_lazy('leads:list') @method_decorator(login_required) def dispatch(self, *args, **kwargs): return super().dispatch(*args, **kwargs) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['title'] = 'Edit lead' return context def get_queryset(self): queryset = super(UpdateView, self).get_queryset() return queryset.filter(created_by=self.request.user, pk=self.kwargs.get('pk')) urls.py from django.urls import path from . import views app_name = 'leads' urlpatterns = [ path('', views.LeadListView.as_view(), name='list'), … -
How can I preview Excel files in-browser with Django and Python?
I am trying to view an excel file in browser. No editing is necessary, the users will just need to preview the files. I already have a working system for pdf, where my Django server opens the file in a new tab, but when I run the code for an excel file, it downloads the code rather, which isn't ideal, since I don't want to get licenses for all computers accessing the files. What are my options here? View.py res = download(token, path) with open(file_name, 'wb') as f: f.write(res.content) with open(file_name, 'rb') as f: res = HttpResponse(f.read(), content_type=res.headers['Content-Type']) This is the Python-Django code that opens the file. Again, works great for previewing PDF, but I need to preview Excel/Docs files as well. -
All users share the same data created, how do i fix it?
I made a program where users put their expenses to keep track of them, after they create their own account. But when i test it, all users share the same table. Ex: Lets say user 1, add to the table "Rent: $2500", but when i close that account and open a new one (User 2), i can see the expenses of the other Users in the page. Please help me, I've been putting a lot of time trying to solve it but i cant. Thanks in advance Model: class Customer(models.Model): user = models.OneToOneField(User, null=True, on_delete=models.CASCADE) name = models.CharField(max_length=200, null=True) email = models.CharField(max_length=200, null=True,blank=True) date_created = models.DateTimeField(auto_now_add=True, null=True) # def __str__(self): # return self.name (i don't now if it's correct) class Finance(models.Model): expenses_category = [ ("Saving", "Saving"), ("Food", "Food"), ("Bills", "Bills"), ("Rent", "Rent"), ("Extra", "Extra"), ] expenses_month = [ ("January", "January"), ("February", "February"), ("March", "March"), ("April", "April"), ("May", "May"), ("June", "June"), ("July", "July"), ("August", "August"), ("September", "September"), ("October", "October"), ("November", "November"), ("December", "December"), ] customer = models.ForeignKey(User, on_delete=models.CASCADE, null=True,blank=True) category = models.CharField(choices=expenses_category, max_length=200) price = models.IntegerField() month = models.CharField(choices=expenses_month, max_length=200) Views: @csrf_exempt def registerPage(request): if request.user.is_authenticated: return redirect('home') else: form = CreateUserForm() if request.method == 'POST': form = CreateUserForm(request.POST) if form.is_valid(): …