Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Retrieve submitted data Django
I have created this dependent dropdown using plain HTML. When I click on submit, it redirects me to the next page where I have to run a python code based on the selection made in the previous page. I am unable to figure out how to retrieve the submitted data, any help? -
Get objects where (val1, val2) both in (other_val1, other_val2, ...)
Given the models below: class Language(models.Model): name = models.CharField(max_length=255, unique=True) class Profile(models.Model): languages = models.ManyToManyField(Language) class Job(models.Model): language1 = models.ForeignKey( Language, models.CASCADE, related_name='language1' ) language2 = models.ForeignKey( Language, models.CASCADE, related_name='language2' ) How to represent the following sql query to orm expression? with user_languages as (select language_id from core_profile_languages where profile_id = <profile-id>) select * from core_job where language1_id in (select * from user_languages) and language2_id in (select * from user_languages) -
Save generated image to ImageField model Django
Detected path traversal attempt in '/home/mrlonely/Desktop/lumen/lumen/media/thumbnail/6.jpeg' When i run this in the views.py: def generate_thumbnail(instance): post = Post.objects.get(pk=instance.pk) output = 'media/thumbnail/' + post.title + '.jpeg' filename_thumbnail = Path.joinpath(filename, output) try: ( ffmpeg .input(str(filename)+post.video.url, ss='00:00:20') .output(output, vframes=1) .overwrite_output() .run(capture_stdout=True, capture_stderr=True) ) with open(filename_thumbnail, 'rb') as file_handler: django_file = File(file_handler) post.thumbnail.save(filename_thumbnail, 'thumbnail/') except ffmpeg.Error as e: print(e.stderr.decode(), file=sys.stderr) sys.exit(1) I am trying to connect the ffmpeg generated thumbnail to the model ImageField on the Post model (instance is post) -
how can i post form object, correctly?
i am practicing CBV , so i thought to check if i can override methodes, well one of biggest problems is that idk how to use data(like data just submitted ), i wrote this code for a DetailView so i could see post and comments under it: class ArtDetailView(FormView, DetailView): model = Art form_class = CommentForm def get_context_data(self, **kwargs): context = super(ArtDetailView, self).get_context_data(**kwargs) context['time'] = timezone.now() context['form'] = self.get_form() return context def form_valid(self, form): form.instance.writer = self.request.user form.instance.text = self.post #form.instance.art = Art.objects.get(id=self.pk) form.save() return super().form_valid(form) def get_success_url(self) -> str: return reverse('pages:art_detail', args=(self.kwargs['pk'],)) forms.py: from django import forms from .models import Art, Comment class CommentForm(forms.ModelForm): class Meta(): model = Comment fields = ['text','art'] but when i post something it is in this shape:screen_shot(2nd comment) ,i think problem is withform.instance.text = self.post but i don't know how to fix it can you please also explain a little because all i want is to learn. and i tried to also add art as autofill(i added as comment) but wasn't successful, can you pls check it it too. -
Use Javascript to add row and html element with Django to get view dict but appear Error
Use Javascript to add row and html element with django get view dict show , but getting an error, the error shows django.template.exceptions.TemplateSyntaxError: Could not parse some characters: JourDt|"+i+"||date:'Y-m-d' i try use quotation mark Adjustment,still can't do it, what should i do? <script> $(document).ready(function () { var html = ""; for (i = 1 ; i < 5 ; i++) html += "<tr style="+"text-align: center;>" +"<td>"+i+"</td>" +"<td><input type="+"'date'"+"value="+"{{JourDt"+i+"|date:'Y-m-d'}}></td>"; $("#myTable").html(html); }); </script> -
Looking for a way to detect database changes using Django Channels
I am looking for a way to detect if there is data insertion happened in my database, i will use this to create a notification badge in real time so that the user wont need to refresh the page to see if there is new notifications. I am planning to use django channels but i cannot see any tutorials that will fit my need. I've tried to use timer but i don't think it is the best practice for this. -
How to create and save a model with multiselect values in Django
I am trying to create a model where I can assign multiple days of the week to a Customer through a form. However, when I try to save it I get the following error. django.db.utils.DataError: value too long for type character varying(2) I am using the django-multiselectfield package to create multiple select checkboxes. https://pypi.org/project/django-multiselectfield/ model.py from multiselectfield import MultiSelectField DAYS_OF_THE_WEEK_CHOICES = [ ('Mo', 'Monday'), ('Tu', 'Tuesday'), ('We', 'Wednesday'), ('Th', 'Thursday'), ('Fr', 'Friday'), ('Sa', 'Saturday'), ('Su', 'Sunday'), ] class Customer(models.Model): days_of_the_week = MultiSelectField(choices=DAYS_OF_THE_WEEK_CHOICES) forms.py RECURRINGDAYS = [ ('Mo','Monday'), ('Tu','Tuesday'), ('We','Wednesday'), ('Th','Thursday'), ('Fr','Friday'), ('Sa','Saturday'), ('Su','Sunday') ] class CustomerCreateForm(forms.Form): days_of_the_week = forms.MultipleChoiceField(required=False, choices=RECURRINGDAYS, widget=forms.CheckboxSelectMultiple(), label="Recurring Day(s)?") views.py from .models import Customer from .forms import CustomerCreateForm def create_customer(request): form = CustomerCreateForm(request.POST or None) if request.POST: if form.is_valid(): recurringDays = form.cleaned_data['days_of_the_week'] newCustomer = Customer( days_of_the_week = recurringDays ) newCustomer.save() return render(request, "customer.html", context) If someone fills out the form and selects Monday and Tuesday, how do I save that to the database Customer model? -
DRF foreign key field is empty when update the object
In Django Rest Framework this is the model: class Vehicle(models.Model): id = models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True) system = models.ForeignKey(System, on_delete=models.SET_NULL, null=True) vehicle_type = models.ForeignKey(VehicleType, on_delete=models.PROTECT, null=True) I created an object with both vehicle_type and system but when I try to update the object, vehicle_type is empty by default. how can I fill vehicle_type with instance data? -
VSC : font color does not chagnges
enter image description here As soon as i installed django, the situation above suddenly happend. The fontcolor that represents imported modules or variables does not change into appropriate ones and remains white. Still Django works but i cannot directly see it does how can i solve this problem? attempted to change settings but didn't find any solution i want to make VSC recognize class and variables precisely -
Django e-commerce checkout page does not want to display products in the HTML page
basket/models.py from decimal import Decimal from django.db import models, migrations from django.conf import settings from datetime import datetime from marketplace.models import prodProduct from member.models import Person class Basket(models.Model): class Meta: db_table = 'basket' productqty = models.IntegerField(default=0) productid = models.ForeignKey(prodProduct, on_delete=models.CASCADE) Person_fk = models.ForeignKey(Person, on_delete=models.CASCADE) def save(self): super().save() def get_subtotal_price(self, fk1): product = prodProduct.objects.get(pk=fk1) basket = Basket.objects.all() return sum(Decimal(product['productPrice']) * basket['productqty']) def get_total_price(self, fk1): product = prodProduct.objects.get(pk=fk1) basket = Basket.objects.all() subtotal = sum(Decimal(product['productPrice']) * basket['productqty']) if subtotal == 0: shipping = Decimal(0.00) else: shipping = Decimal(3.00) total = subtotal + Decimal(shipping) return total marketplace/models.py class prodProduct(models.Model): class Meta: db_table = 'prodProduct' productid = models.AutoField(primary_key=True) productName = models.CharField(max_length=255, blank=True) productDesc = models.CharField(max_length=1500,blank=True) productCategory = models.CharField(max_length=255, blank=True) productPrice = models.DecimalField(max_digits=4, decimal_places=2) productStock = models.IntegerField(default=0) productPhoto = models.ImageField(upload_to ='images/', null=True) productRating = models.IntegerField(default=0) timePosted = models.DateTimeField(default=datetime.now, blank=True) Person_fk = models.ForeignKey(Person, on_delete=models.CASCADE) def save(self): super().save() return self.productid def deleteProduct(self): super().delete() basket/summary.html {% block content %} <div class="container"> <div class="col-12"> <h1 class="h2">Your Basket</h1> </div> <div class="col-12"> <p>Manage your <b>items</b> in your basket</p> </div> <hr /> </div> <div class="container"> <div class="row g-3"> {% if allBasket.count == 0 %} <div class="col-12">Your basket is empty <a href="{% url 'MainMarketplace' %}">Shop</a></div> {% else %} <div class="col-12 bg-light p-3 d-flex justify-content-between"> … -
What is the correct way to configure ASGI application for channels in Django?
I've just started to learn about channels and asgi in django in few tutorials that i've seen they do this to configure the asgi apllication asgi.py import os from django.core.asgi import get_asgi_application from channels.routing import ProtocolTypeRouter, URLRouter os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') application = ProtocolTypeRouter({ 'http':get_asgi_application(), }) settings.py INSTALLED_APPS = [ 'channels', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'chat' ] ASGI_APPLICATION = 'config.asgi.application' to check when i run my server it was supposed to be running on asgi/channel server like this Starting ASGI/Channels version development server at http://127.0.0.1:8000/ but mine is still running on the default one Starting development server at http://127.0.0.1:8000/ when i use daphne and put inside installed apps instead of channels 'daphne', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'chat' ] it works fine Starting ASGI/Daphne version 4.0.0 development server at http://127.0.0.1:8000/ can someone tell me what is going on here?and how exactly django works with asgi? -
Not entering Else Statement from user.is_authenticated
In the castmascotvote view, everything is working when I'm authenticated, but not working otherwise. I have a print('entering not authenticated') right when it enters the else statement if the user isn't authenticated, but it never enters it, i'm boggled. I don't understand at all why it's not working. does anyone have any idea where I should start looking? error message The view didn't return an HttpResponse object. It returned None instead. But I clearly have a HttpResponse object! .html <form class="mascotvoteform" action="{% url 'castmascotvote' mascot.id %}" id="{{mascot.id}}"> <div class="p-0"><h4>{{ mascot.name }} </h4> <p> by {{ mascot.author }} </p></div> <div class="p-0"><img class="img-thumbnail" src="{{ mascot.image.url }}" style="width:250px;"></div> <div class="row p-3"> {% if mascot.total_votes is 0 %} <div class="col"><h5 id="mascotvotes{{mascot.id}}">0</h5></div> <button class="col btn btn-primary" type="submit" id="castmascotvote{{mascot.id}}">Vote</button> {% else %} <div class="p-0 col"><h5 id="mascotvotes{{mascot.id}}">{{ mascot.total_votes }}</h5></div> <button class="col btn btn-primary" type="submit" id="castmascotvote{{mascot.id}}">Vote</button> {% endif %} </div> </form> .script $( document ).ready(function() { $(".mascotvoteform").submit(function(e) { {% if user.is_authenticated %} e.preventDefault() {% endif %} let mascot_id = $(this).attr("id"); let url = $(this).attr('action'); $.ajax({ type: 'POST', url: url, data: { 'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val(), 'mascot_id': mascot_id, }, success: function(response) { console.log('success', response) $(`#mascotvotes${mascot_id}`).text(`${response['total_votes']}`) }; }, error: function(response) { console.log('error', response) } }); }) .views def castmascotvote(request, mascot_id): mascot = … -
How to handle variable replacement in dev vs rollup build?
I am making a site that was based off Open Web Components Generator. I hit the same issue of process not being defined for redux as this SO question: lit-element with rollup and redux: process is not defined I am confused because the top answer says to use Rollup's replace plugin. This works great for the built version from the generator's package.json which runs the following: "build": "rimraf dist && tsc && rollup -c rollup.config.js && npm run analyze -- --exclude dist", However when I'm just doing dev watcher the command is this: "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"" Rollup isn't going to run while just doing a dev watcher like this so I'm not sure how to solve the problem when doing dev as opposed to building. Meanwhile the Redux maintainer on the original post, says to use an artifact when not bundling with something via Rollup. My code is like the following so I'm not sure how to satisfy both conditions. import { configureStore, EnhancedStore, } from '@reduxjs/toolkit'; I wonder if this is an issue on me, or Open WC not using Rollup watch under the hood? -
problem with SQLite when deploying Django Website on AWS, cant properly instal pysqlite
`I have made Django blog. I encountered this error after deploy when trying to visit my website on AWS: Django - deterministic=True requires SQLite 3.8.3 or higher upon running python manage.py runserver So I found this solution: Django - deterministic=True requires SQLite 3.8.3 or higher upon running python manage.py runserver So i understand it like this: In ubuntu terminal i type : sudo apt install python3.10-venv to install envirement Then in my Django project in Visual Studio i type python3 -m venv django_my_site to create virtual env Now i click "+" to open this env and type pip3 install pysqlite3 and pip3 install pysqlite3-binary After that i type python3 -m pip freeze > requirements.txt and i get requirements.txt file which looks like that: asgiref==3.6.0 Django==4.1.4 Pillow==9.3.0 pysqlite3==0.5.0 pysqlite3-binary==0.5.0 sqlparse==0.4.3 Now AWS have problem with installing pysqlite3. How to properly install pysqlite3 on AWS? Encountered error while trying to install package. pysqlite3` note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. src/blob.h:4:10: fatal error: sqlite3.h: No such file or directory #include "sqlite3.h" ^~~~~~~~~~~ compilation terminated. LINK TO MY REPOSITORY: https://github.com/Stanotech/my_site.git I tried to deploy site with sqlite with no success, … -
How to create a crypto payment invoice generator app?
I want to create an application that generates invoices in order to receive crypyo payment but I don't know where to start. I code in django and react and I request any idea, tool, framework, github similar project or anything that can help me develop my project. -
Bootstrap 4 close button not working django
enter image description hereI have a close button on my alert but when I click on it it doesn't close. I have seen similar people with the same problem but none of the solutions have worked for me This is what I currently have {% for message in messages %} <div class="container-fluid p-0"> <div class="alert {{ message.tags }} alert-dismissible fade show" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> {{ message }} </div> </div> {% endfor %} -
Query only specific subclass(es) of an abstract superclass
This question is fundamentally similar to these previous questions: Django access to subclasses items from abstract class How to query abstract-class-based objects in Django? I am posting this as a new, separate question because: I have minor additional considerations that aren't addressed in the previous questions The previous questions are relatively old, and if it's the case that the correct answer has changed in recent times, I wonder if maybe those questions haven't been visible enough (given that they have accepted answers) to get the attention of those who might know about such potential changes. With that in mind, I'll take the question from the top and define it fully and concretely - and I leave it to the hive to determine if a close-duplicate is in order. Background Say I am constructing models to represent parts of a building. I split the building into logical classes: Floor BuildingSpace(ABC) Office(BuildingSpace) CommonArea(BuildingSpace) Goal Under Floor, I want methods that can retrieve all buildingspaces - or, either of its two subclasses separately: from typing import Type class Floor(models.Model): def getAllSpaces(): # return all objects that satisfy Type[BuildingSpace] def getAllOffices(): # return all objects that satisfy strictly and only Type[Office] def getAllCommonAreas(): # … -
Django inline formset not valid on update
My create method works perfectly but the update does not, it returns 1 error for each inline as an empty list [] forms.py StructureFormset = inlineformset_factory(Plan, Structure, fields = ( 'material_type', 'weight', 'thickness', 'provider' ), extra=0, can_delete=True ) TestFormset = inlineformset_factory(Plan, Test, fields=( 'essay', 'critic', 'spec' ), extra = 0, can_delete=True ) class PlanForm(ModelForm): class Meta: model = Plan fields = ( 'format', 'pc', 'revission', 'rev_date', 'client', 'product', 'gp_code', 'code', 'observation', 'continuation', 'dispatch_conditions', 'elaborator', 'reviewer' ) localized_fields=('rev_date',) views.py def editPlan(request, pk): plan = Plan.objects.get(id = pk) form = PlanForm(instance = plan) sformset = StructureFormset(instance=plan) tformset = TestFormset(instance=plan) context = { 'form': form, 'sformset': sformset, 'tformset': tformset } if request.method == 'POST': print('----------------------------request----------------------------') print(request.POST) form = PlanForm(request.POST, instance = plan) sformset = StructureFormset(request.POST, instance=plan, prefix='structure') tformset = TestFormset(request.POST, instance=plan, prefix='test') if form.is_valid() and sformset.is_valid() and tformset.is_valid(): print('-----------------------is valid-----------------------') form.save() instances = sformset.save(commit=False) for instance in instances: sformset.save_m2m() instance.save() tformset.save() return redirect('/plans/') else:#printing errors print('-----------------------is not valid-----------------------') print(sformset.total_error_count()) print(sformset.errors) print(tformset.total_error_count()) print(tformset.errors) return render(request, 'home/plan_forms.html', context) template.html {{ tformset.management_form }} <table> <thead> <tr> <th>Essay</th> <th> <abb title="Critical Variable">Crit.</abb> </th> <th>Spec</th> {% if tformset.instance.pk %} <th class="text-center px-1 col-1 pb-2"> <i class="material-icons">delete</i> </th> {% endif %} </tr> </thead> <tbody id="tform_set"> <!--Test form goes here--> … -
Bad Request (400) in django web app in Azure App service while adding Custom Domain
In the Azure app service my Website is working fine with something.azurewebsites.net with the following code ALLOWED_HOSTS = [os.environ['WEBSITE_HOSTNAME']] if 'WEBSITE_HOSTNAME' in os.environ else [] But while adding a custom domain, it is showing as Bad Request (400). I think the problem relies on the Allowed host, and the Django app is not allowing my custom domain. I couldn't find a solution or a perfect line of code to resolve this issue. -
Does MongoEngine have an "AutoField()" like Django?
I just switched from SQL to MongoDB. When I was changing all my model fields from Django fields to MongoEngine fields, I realized there was no AutoField(). Does anyone know a substitute for this? -
How Can I Check For The Existence of a UUID
I am trying to check for the existence of a UUID as a primary key in my Django environment...and when it exists...my code works fine...But if it's not present I get a "" is not a Valid UUID... Here's my code.... uuid_exists = Book.objects.filter(id=self.object.author_pk,is_active="True").first() I've tried other variations of this with .exists() or .all()...but I keep getting the ['“” is not a valid UUID.'] error. I did come up with a workaround.... if self.object.author_pk is not '': book_exists = Book.objects.filter(id=self.object.author_pk,is_active="True").first() context['author_exists'] = author_exists Is this the best way to do this? I was hoping to be able to use a straight filter...without clarifying logic....But I've worked all afternoon and can't seem to come up with anything better. Thanks in advance for any feedback or comments. -
Django Channels: Channel Name type error appears when loading web socket chat
I'm building a basic websocket live chat using Django Channels and while the site loads fine, when I enter into the site, in my terminal I get this TypeError Message: TypeError: Channel name must be a valid unicode string with length < 100 containing only ASCII alphanumerics, hyphens, underscores, or periods, not RedisChannelLayer(hosts=[{'host': '127.0.0.1', 'port': 6379}]) Im assuming the problem lies in my settings.py file but based on my current channel layer settings, I don't see what the problem is: CHANNEL_LAYERS = { 'default': { "BACKEND": 'channels_redis.core.RedisChannelLayer', "CONFIG": { "hosts": [('127.0.0.1', 6379)], }, }, } I'm new to django and channels so maybe theres a place where I defined the channel name and i'm just missing but I'm not sure or where to look for it if thats true. -
Signup and Login form post data withou specifying path
I just discovered a probable BUG in my code that allows user to signup or login action attribute is blank. Here is what i mean login.html <!DOCTYPE html> <html class="supernova"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>SignIn</title> <link rel="stylesheet" href="/static/signup/css/1.css"> <link rel="stylesheet" href="/static/signup/css/2.css"> <link rel="stylesheet" href="/static/signup/css/3.css"> <link rel="stylesheet" href="/static/signup/css/4.css"> <link rel="stylesheet" href="/static/signup/css/5.css"> <link rel="stylesheet" href="/static/signup/css/6.css"> <script src="/static/signup/js/1.js"></script> <script src="/static/signup/js/2.js"></script> <script src="/static/signup/js/3.js"></script> <script src="/static/signup/js/4.js"></script> <script src="/static/signup/js/5.js"></script> <script src="/static/signup/js/6.js"></script> </head> <body> <form class="jotform-form" action="" method="post" enctype="multipart/form-data" name="form_230023299150548" id="230023299150548" accept-charset="utf-8" autocomplete="on"> {% csrf_token %} <div role="main" class="form-all"> <ul class="form-section page-section"> <li id="cid_60" class="form-input-wide" data-type="control_head"> <div class="form-header-group header-small"> <div class="header-text httal htvam"> <h3 id="header_60" class="form-header" data-component="header">SignIn</h3> </div> </div> </li> <li class="form-line jf-required" data-type="control_textbox" id="id_64"> <label class="form-label form-label-left" id="label_64" for="input_64"> Username <span class="form-required">*</span> </label> <div id="cid_64" class="form-input jf-required"> {{form.username}} </div> </li> <li class="form-line jf-required" data-type="control_fullname" id="id_66"> <label class="form-label form-label-left form-label-auto" id="label_66" for="first_66">Password <span class="form-required">*</span> </label> <div id="cid_66" class="form-input jf-required"> <div data-wrapper-react="true"> <span class="form-sub-label-container" style="vertical-align:top" data-input-type="first"> {{form.password}} </span> </div> </li> <li class="form-line" data-type="control_button" id="id_76"> <div id="cid_76" class="form-input-wide"> <div data-align="center" class="form-buttons-wrapper form-buttons-center jsTest-button-wrapperField"><button id="input_76" type="submit" class="form-submit-button submit-button jf-form-buttons jsTest-submitField" data-component="button" data-content="">Submit</button></div> </div> </li> </ul> </div>/ <!-- <div class="formFooter-heightMask"></div> <div class="formFooter f6 branding21"></div> --> </form> </body> </html> In the opening form tag, i am yet to specify the path … -
Django CBV: How come my child method is not overriding my parent method?
I'm pretty new when it comes to python classes / django CBVs. I'm trying to have a method (print_test) from my child class override my parent class, but I can't get it to work. What am I doing wrong? Below is my parent: This is my child: I've tried a bunch of things but can't see to get it to work :/ Appreciate all help! -
Django - Save form fields while paging
This will be a lengthy post, please have patience with me, I just started with Django and try to wrap my head around it. I created a site that will go thru exam questions one at a time, displaying the question and the multiple choice answers like on countless other websites. The challenge I experience is when the user clicks "NEXT" on the pagination buttons, I would like for the selected answer(option) to be saved back to the database. I tried it with AJAX scripts but the view never got executed. Maybe there is a better way to do this or could you please point me into the right direction? I will post all of my code and hope someone can please assist me. Thank you for taking the time to look at this. I start with the models.py: from django.db import models class QuesModel(models.Model): question = models.TextField(null=True) code_snippet = models.TextField(null=True) op1 = models.CharField(max_length=200,null=True) op2 = models.CharField(max_length=200,null=True) op3 = models.CharField(max_length=200,null=True) op4 = models.CharField(max_length=200,null=True) ans = models.CharField(max_length=200,null=True) def __str__(self): return self.question class Answer(models.Model): ans_id = models.AutoField(primary_key=True) question_id = models.ForeignKey(QuesModel, on_delete=models.CASCADE) fname = models.CharField(max_length=50) lname = models.CharField(max_length=50) examdate = models.DateField(auto_now_add =True) answer = models.PositiveSmallIntegerField() def __int__(self): return QuesModel.question[self.question_id] template is home.html: {% …