Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Unresolved import in my django project : VSCode
I have a Django project called ubm-app with two apps, main and ubm-app. I've created a couple of classes, URLAdder and URLModifier in the views.py file in the main app. Im trying to import these views into my urls.py file by using the line from . import views but VS Code shows me the error unresolved import 'c:\Users\Hari\Desktop\django\UBM-App\main.'. This is my urls.py file. from django.urls import path, include from . import views urlpatterns = [ path('',views.home,name='home'), path('api/add/', views.URLAdder.as_view()), path('api/modify/',views.URLModifier.as_view()), ] This is the settings.json file found when I use the Configure Language Specific Settings... option. { "C_Cpp.updateChannel": "Insiders", "[python]": { } } This is the settings.json file in the .vscode folder in my Django project. { "python.pythonPath": "env\\Scripts\\python.exe" } Can anyone please suggest a fix to this with an explanation? I seem to be having these unresolved import errors time and again. Forgive me if the error is a basic one. -
Can I match the height of a formset input with a button?
I'm currently making a todo list using Django model formsets. I came across a problem when trying to list each form in the formset with a delete button next to it. Here's a picture of what it looks like now: When looked at closely, the spacing and height for each form are slightly different than the spacing and height for each delete button. Here's my views.py: def dashboard(request): user = request.user todo_list = Todo.objects.filter(user=user).all() UpdateFormSet = modelformset_factory(Todo, fields=('item',)) if request.method == 'POST': formset = UpdateFormSet(request.POST, queryset=todo_list) if 'delete' in request.POST: items_to_delete = request.POST.getlist('delete') deleted_items = Todo.objects.filter(pk__in=items_to_delete).delete() if 'update' in request.POST: if formset.is_valid(): instances = formset.save(commit=False) for instance in instances: instance.user = user instance.save() return redirect('dashboard') formset = UpdateFormSet(queryset=todo_list) if not formset: formset = UpdateFormSet() # Figure out a way to put add button next to first form context = { 'current_user': request.user, 'formset':formset, 'items':todo_list, } return render(request, 'users/dashboard.html', context) Template: <form method="POST"> {% csrf_token %} <fieldset class="form-group"> <legend class="border-bottom mb-4 pt-3">ToDo Items</legend> {{ formset.management_form }} <div class="row"> <div class="col-6"> {% for form in formset reversed %} {{ form.id }} <div class="py-3"> {{ form.item }} </div> {% endfor %} </div> <div class="col-6"> <div class="input-group"> <div class="input-group-append"> <button type="submit" class="btn btn-sm btn-success … -
Django Missapplying Migrations
I am not sure whether I am doing something wrong or it is a problem with one of the pieces I am using for the project. Basically, I added a field to a model and am trying to make a migration. Here is the model. The field is the poster one. class Video(models.Model): title=models.CharField(max_length=500) description=models.TextField(default="") creation_date=models.DateTimeField(default=timezone.now) videofile=models.FileField(upload_to='videos/', null=True, verbose_name="") poster=models.ImageField(upload_to='video/thumbnails', null=True, verbose_name="") tags = TaggableManager() actions = ['delete'] def __str__(self): return self.title + ": " + str(self.videofile) ... That is the only thing that changed in the model. Let's make the migrations. (app-web) selfishman@user-desktop:~/sites/app-web/app$ python manage.py makemigrations Migrations for 'video_uploader': video_uploader/migrations/0007_video_poster.py - Add field poster to video So far, so good. Let's try to apply the migration. (app-web) user@user-desktop:~/sites/app-web/app$ python manage.py migrate video_uploader Operations to perform: Apply all migrations: video_uploader Running migrations: Applying video_uploader.0002_video_creation_date...Traceback (most recent call last): File "/home/user/miniconda3/envs/app-web/lib/python3.7/site-packages/django/db/backends/ut ils.py", line 85, in _execute return self.cursor.execute(sql, params) psycopg2.errors.DuplicateColumn: column "creation_date" of relation "video_uploader_video" already exists There rest of the backtrace: The above exception was the direct cause of the following exception: Traceback (most recent call last): File "manage.py", line 20, in <module> execute_from_command_line(sys.argv) File "/home/user/miniconda3/envs/app-web/lib/python3.7/site-packages/django/core/managemen t/__init__.py", line 381, in execute_from_command_line utility.execute() File "/home/user/miniconda3/envs/app-web/lib/python3.7/site-packages/django/core/managemen t/__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) … -
django user creation using UserCreationForm issue
As per youtube tutorial the user is created with exactly same method but mine doesn't work. Why? views.py from django.shortcuts import render,redirect from .forms import CreateUserForm def registerView(request): form=CreateUserForm() if request.method=="POST": form=CreateUserForm(request.POST) if form.is_valid(): form.save() user=form.cleaned_data.get('username') messages.success(request,'Account was successfully created for '+ user) return redirect('login') context={'form':form} return render(request,"accounts/register.html", context) forms.py from django import forms from django.contrib.auth.models import User from django.contrib.auth.forms import UserCreationForm class CreateUserForm(UserCreationForm): class Meta: model = User fields = ['username','email','password1','password2'] Why is a user not created? -
image will not display Django3 serving Angular8
similar to this SO Question but that solution would not work for me. I cannot get my image to render with the Angular frontend. In the browser {{recipe.photo}} displays http://127.0.0.1:8000/media/images/photo1_mMxzxU0.png. From the other SO question I thought since this was an absolute url pointing to the image it would work.. html <div *ngIf= "recipes"> <ul *ngFor ="let recipe of recipes"> {{recipe.name}} {{recipe.photo}} <img src={{recipe.photo}} height="150" > </div> models.py class Recipe(models.Model): name = models.CharField(max_length=30) photo = models.ImageField(upload_to='images/', null=False, blank=False) views.py class RestaurantRecipes(generics.ListAPIView): serializer_class = RecipeSerializerShort serializers.py class RecipeSerializerShort(serializers.ModelSerializer): class Meta: model = Recipe fields = ['name','photo'] settings.py MEDIA_ROOT = '/Users//Documents///backend/images/' MEDIA_URL = '/media/' -
How to edit user data in django
I have used bs4 modal in profile.py and and Profile model which has bio,fullname,gender and other related info. I am unable to edit user information.When i click on save changes on modal button,nothing happens. this is forms.py:- class UserUpdateForm(forms.ModelForm): class Meta: model=User fields=['username','email'] widgets={ 'username':forms.TextInput(attrs={'placeholder':'Enter Name'}), 'email':forms.TextInput(attrs={'placeholder':'Enter Email'}) } class ProfileUpdateForm(forms.ModelForm): class Meta: model=Profile fields=['image','fullname','bio','location','birth_date','gender'] widgets={ 'image':forms.FileInput(attrs={'placeholder':'Upload Image'}), 'fullname':forms.TextInput(attrs={'placeholder':'Enter Fullname'}), 'bio':forms.Textarea(attrs={'placeholder':'Enter bio'}), 'location':forms.TextInput(attrs={'placeholder':'Enter location'}), 'birth_date':forms.TextInput(attrs={'placeholder':'Enter birth_date'}), 'gender':forms.TextInput(attrs={'placeholder':'Enter gender'}), } this is profile.py:- <div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered model-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">EDIT INFORMATION</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body "> <form method="POST" class="form-group" enctype="multipart/form-data" > {% csrf_token %} <div class="form-group textinput"> {% for fields in u_form %} {{fields}} <br> {% endfor %} {% for fields in p_form %} {{fields}} <br> {% endfor %} </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> this is views.py:- @login_required def profile(request): if request.method =='POST': u_form = UserUpdateForm(request.POST,instance=request.user) #request.POST=>to post the data , instace=request.user=> p_form=ProfileUpdateForm(request.POST,request.FILES,instance=request.user.profile)#request.FILES is for image upload if u_form.is_valid() and p_form.is_valid(): u_form.save() p_form.save() return redirect('profile') else: u_form = UserUpdateForm(instance=request.user) p_form = ProfileUpdateForm(instance=request.user.profile) context={ 'u_form':u_form,'p_form':p_form} return render(request, 'users/profile.html',context) … -
Django: How to get a JSON object from models with ONLY fields and not pk and model key?
2 days with the same problem... overall, Django is very simple but for json, I do not understand... I want to pass data from my database to be used in JS code in order to construct dynamically a table first I tried to pass my data as a context trought a "data-" attribute in one of my html element but the problem is that my data are in a string format instead of JSON and I am unable to parse when I use django serializer to get an Json object, I have pk and model key that make it difficult to manipulate... is there a easiest way to have a simple Json object from my model? or, how is the good pratice to get data from server/database to be available in JS? [ { "pk": "4b678b301dfd8a4e0dad910de3ae245b", "model": "sessions.session", "fields": { "expire_date": "2013-01-16T08:16:59.844Z", ... } } ] expected : [ { "expire_date": "2013-01-16T08:16:59.844Z", ... } ] -
Creating django widget 3.x
I have been trying to create a form widget in Django 3.x and not many of 2.x blogs seem to work. The following doesnt work widgets.py from django import forms from django.template import loader from django.utils.safestring import mark_safe class AutocompleteInputWidget(forms.Widget): template_name = 'widgets/autocomplete.html' def get_context(self, name, value, attrs=None): return {'widget': { 'name': name, 'value': value, }} def render(self, name, value, attrs=None, renderer=None): context = self.get_context(name, value, attrs) template = loader.get_template(self.template_name) return mark_safe(template) apps.py from django.apps import AppConfig class WidgetsConfig(AppConfig): name = 'widgets' forms.py from django import forms from .models import Country, CountryList from .widgets import AutocompleteInputWidget class CountryForm(forms.ModelForm): name = forms.CharField(max_length=20, widget=AutocompleteInputWidget()) class Meta: model = Country fields = ['name'] # widgets={'last_name':AutocompleteInputWidget()} lookups.py from ajax_select import register, LookupChannel from .models import Country from django.db.models import Lookup # @register('country') class CountryLookup(Lookup): model = Country def get_query(self, q, request): return self.model.objects.filter(country__icontains=q).order_by('country')[:50] def format_item_display(self, item): return u"<span class='tag'>%s</span>" % item.country models.py from django.db.models.fields import Field Field.register_lookup(CountryLookup) from django.db import models from .widgets import AutocompleteInputWidget class CountryList(models.Model): name = models.CharField("name", max_length=20, blank=False, null=False) class Country(models.Model): # country = models.CharField(verbose_name="Country", max_length=20, blank=False, null=False) country = models.ForeignKey(CountryList, on_delete=models.PROTECT, verbose_name="Country") -
WSGI Server logging stdout info logs as error
Initially in our django project we log everything to file(info | error). But recently we want to move away from file logging to console logging. Everything seems to be working fine except, the info log is being logged as [wsgi.error] []1 I tried every possible thing that I could, but still couldn't figure out a way to log it as wsgi.info. Dev Environment : Django app running as docker docker container Just a beginner to django, so please do help me out. -
Django- make form fields read only
I have a Django web app with a form that initiates with initial data. Users are able to update the information in the form and submit changes. I want to disable form input on weekends, making the fields read only. Is there a way to toggle all the fields in the form to read only, possibly from django admin? -
save cropped image of cropper.js to database using django
I was using django to build a webpage and used cropper.js to crop a image, but i am not able to save the cropped image. The original image uploaded is getting saved to the DB not the cropped image. Code: Your browser does not support canvas. <script> window.onload = function () { var c = document.getElementById("testCanvas"); var ctx = c.getContext("2d"); var img = document.getElementById("img"); ctx.drawImage(img, 20, 20); } // initialize cropper by providing it with a target canvas and a XY ratio (height = width * ratio) cropper.start(document.getElementById("testCanvas"), 1); function handleFileSelect() { // "{{ image.data_image.url }}" // this function will be called when the file input below is changed var file = document.getElementById("fileInput").files[0]; // get a reference to the selected file var reader = new FileReader(); // create a file reader // set an onload function to show the image in cropper once it has been loaded reader.onload = function (event) { var data = event.target.result; // the "data url" of the image cropper.showImage(data); // hand this to cropper, it will be displayed }; // this loads the file as a data url calling the function above once done reader.readAsDataURL(file); } </script> </div> -
Django: Access user object in models.py using sessions
I'm trying to access user object in models.py I have two apps (users & employees) under my Django project, I just want to know which user added employee in the employees model at the time of displaying the employees details -
Django REST Framework: POST Request: How to save data only if the data doesn't exist
I'm new in Django and I'm stuck on the following problem: I have the following code: models.py: class Vote(models.Model): answer = models.ForeignKey(Answer, on_delete=models.CASCADE) user = models.ForeignKey(User,on_delete=models.CASCADE, related_name='votes', null=True) views.py: class VoteViewSet(viewsets.ModelViewSet): permission_classes = [ permissions.IsAuthenticated, ] serializer_class = VoteSerializer def perform_create(self, serializer): serializer.save(user=self.request.user) serializer.py: class VoteSerializer(serializers.ModelSerializer): class Meta: model = Vote fields = ('id', 'answer', 'user') def create(self, validated_data): answer = validated_data.get("answer", None) poll = answer.poll return Vote.objects.create(answer=answer, poll=poll, user=user) Each time I do a POST Vote request a new Vote is created. But I would like to check if the user has already voted for the poll. I have this code but I don't know where to put it: if not poll in [vote.poll for vote in user.votes.all()]: # Create Vote How to correctly check if the user has already voted in the poll and if not, create a vote? -
How do I get my serializer to return data from a dependent field in my model?
I'm using Django 2 and Python 3.7. I have these models set up. One (Coop) is dependent on the other (CoopType) using Many-To-Many ... class CoopTypeManager(models.Manager): def get_by_natural_key(self, name): return self.get_or_create(name=name)[0] class CoopType(models.Model): name = models.CharField(max_length=200, null=False, unique=True) objects = CoopTypeManager() class CoopManager(models.Manager): # Look up by coop type def get_by_type(self, type): qset = Coop.objects.filter(type__name=type, enabled=True) return qset # Look up coops by a partial name (case insensitive) def find_by_name(self, partial_name): queryset = Coop.objects.filter(name__icontains=partial_name, enabled=True) print(queryset.query) return queryset # Meant to look up coops case-insensitively by part of a type def contains_type(self, types_arr): filter = Q( *[('type__name__icontains', type) for type in types_arr], _connector=Q.OR ) queryset = Coop.objects.filter(filter, enabled=True) return queryset class Coop(models.Model): objects = CoopManager() name = models.CharField(max_length=250, null=False) types = models.ManyToManyField(CoopType) address = AddressField(on_delete=models.CASCADE) enabled = models.BooleanField(default=True, null=False) phone = PhoneNumberField(null=True) email = models.EmailField(null=True) web_site = models.TextField() I have the following serializers set up, designed to return the data in JSON form ... class CoopTypeField(serializers.PrimaryKeyRelatedField): queryset = CoopType.objects def to_internal_value(self, data): if type(data) == dict: cooptype, created = CoopType.objects.get_or_create(**data) # Replace the dict with the ID of the newly obtained object data = cooptype.pk return super().to_internal_value(data) ... class CoopTypeSerializer(serializers.ModelSerializer): class Meta: model = CoopType fields = ['id', 'name'] def … -
Is there a more efficient substitute to my code?
please help give me a more efficient substitute to my code -
'Cannot query Conversationt, Use a query set for Profile'
I'm trying to query my Conversation objects, and get a convo object that may be already created or may not be already created between the two users. Then, I want to get_or_create one passing in the two users. Now, I'm getting a 'cannot query conversation object. Use profile' ... not sure why this is. I should be returning a list that I can pluck in or if it can't get it, it should create it. Conversation object has a ManyToMany field called Members. Profile is my user model that I created. **error ** ValueError at /message/2/ Cannot use QuerySet for "Conversation": Use a QuerySet for "Profile". Request Method: GET Request URL: http://localhost:8000/message/2/ Django Version: 2.2.3 Exception Type: ValueError Exception Value: Cannot use QuerySet for "Conversation": Use a QuerySet for "Profile". Exception Location: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/sql/query.py in check_related_objects, line 1081 Python Executable: /Library/Frameworks/Python.framework/Versions/3.7/bin/python3 Python Version: 3.7.3 Python Path: ['/Users/papichulo/Documents/DatingAppCustom', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Users/papichulo/Library/Python/3.7/lib/python/site-packages', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'] views.py/Message def message (request, profile_id): other_user = get_object_or_404(Profile,id=profile_id) members_query = Conversation.objects.filter(members= request.user).filter(members= other_user) conversation, created = Conversation.objects.get_or_create( members = members_query) if request.method == 'POST': form = MessageForm(request.POST, instance= request.user, sender=request.user, conversation = conversation, message=message, date=date) if form.is_valid(): form.save() return redirect ('dating_app:messages.html') else: conversation, created = Conversation.objects.get_or_create( members= [request.user, other_user]) … -
Update instances of ModelFormset
In my django app two models are connecetd by manytomany relation and I am using modelformset_fatory to create a form like this Views.py def post(request): tform = TeamForm() pform = modelformset_factory(Player, form=PlayerForm, extra = 1) pform = pform(request.POST or None, queryset = Player.objects.filter(id__isnull = True)) if request.method == 'POST': t = Team() tform = TeamForm(request.POST, instance=t) if tform.is_valid() and pform.is_valid(): tform.save() instances = pform.save(commit=False) for i in instances: player = Player() player.pname = i.pname player.hscore = i.age player.age = i.hscore player.save() t.player.add(player) t.save() return redirect('/exams/dashboard/') else: print('invalid data') return render(request, 'team/team_create.html', {'exform': tform, 'exformset': pform}) This is working perfectly fine but the problem occurs when I try to update the form, I am able to initialize the form with the data but when I create a new player instance in form it does not get saved. Update function: def update(request, pk = None): team = Team.objects.get(id = pk) tform = TeamForm(instance = team) pform = modelformset_factory(Player, form=PlayerForm, extra=0) print("players", Player.objects.filter(team=team)) pform = pform(request.POST or None, queryset=Player.objects.filter(team=team)) if request.method == 'POST': tform = TeamForm(request.POST, instance=team) print("tform ", tform) print("pform ", pform) if tform.is_valid() and pform.is_valid(): tform.save() pform.save() return redirect('/exams/dashboard/') else: print('invalid data') return render(request, 'team/team_create.html', {'exform': tform, 'exformset': pform}) Do I … -
Django Deploy to heroku: Application Error
I deployed my Django project to heroku. It deployed successfully but the page shown Application error. In logs on heroku error be like this. 2020-04-24T05:34:09.500250+00:00 app[web.1]: [2020-04-24 05:34:09 +0000] [4] [INFO] Using worker: sync 2020-04-24T05:34:09.506988+00:00 app[web.1]: [2020-04-24 05:34:09 +0000] [10] [INFO] Booting worker with pid: 10 2020-04-24T05:34:09.532649+00:00 app[web.1]: [2020-04-24 05:34:09 +0000] [11] [INFO] Booting worker with pid: 11 2020-04-24T05:34:10.051702+00:00 heroku[web.1]: State changed from starting to up 2020-04-24T05:34:20.000000+00:00 app[api]: Build succeeded 2020-04-24T05:34:26.126726+00:00 app[web.1]: [2020-04-24 05:34:26 +0000] [4] [INFO] Shutting down: Master 2020-04-24T05:34:41.808971+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/favicon.ico" host=dashboard-retail.herokuapp.com request_id=f5feaeba-075f-4dc7-a637-fe6b271f0d67 fwd="125.24.11.115" dyno=web.1 connect=1ms service=30003ms status=503 bytes=0 protocol=https 2020-04-24T05:34:42.096139+00:00 app[web.1]: [2020-04-24 05:34:42 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:10) In Procfile,I set like this web: gunicorn myWeb.wsgi --log-file - Help me please. Thank. -
Django CSRF check failing with an Ajax GET request
I followed the instructions of this tutorial https://simpleisbetterthancomplex.com/tutorial/2016/08/29/how-to-work-with-ajax-request-with-django.html to check "User already exists or not" but Django still rejecting my POST request. I could use some help complying with Django's CSRF protection mechanism via my AJAX post. I've followed the directions here: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/ But it didnt help me. It is my result in console: {% extends 'base.html' %} {% block title %} Register {% endblock %} {% load crispy_forms_tags %} {% block body %} <div class="container"> <h1 class="text-center">Regiser</h1> <form class="form-group" method="POST" data-validate-username-url = "{% url 'validate_username' %}"> {% csrf_token %} {{ form|crispy }} <input type="submit" name="Register" class="btn btn-primary text-center" value="Register"> </form> </div> {% endblock %} {% block script %} <script> function getCookie(name) { var cookieValue = null; if (document.cookie && document.cookie !== '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i].trim(); // Does this cookie string begin with the name we want? if (cookie.substring(0, name.length + 1) === (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } function csrfSafeMethod(method) { // these HTTP methods do not require CSRF protection return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); } $(document).ready(function() { var csrftoken = getCookie('csrftoken'); $.ajaxSetup({ beforeSend: function(xhr, settings) … -
How to generate a derived field in a model in Django which is dependent on fields of other models?
Here are my models in models.py class Purchase(models.Model): Purchase_id = models.AutoField(verbose_name='Purchase ID',primary_key=True) Employee_id = models.ForeignKey(Employee, on_delete= models.CASCADE,verbose_name='Employee ID') Distributor_id = models.ForeignKey(Distributor, on_delete= models.CASCADE,verbose_name='Distributor ID') Date_of_Purchase= models.DateField(verbose_name='Date Of Puchase',validators=[datevalid]) Discount_in_percentage = models.FloatField(verbose_name='Discount(in percent)',validators=[nonneg,MaxValueValidator(100,'Discount can not be more than 100%%')]) Tax_in_percentage = models.FloatField(verbose_name='Tax(in percent)',validators=[nonneg]) Total_amount = models.FloatField(verbose_name='Total Amount',validators=[nonneg]) Products=models.ManyToManyField(Products,through='Purchase_Consists_of') objects = models.Manager() def __str__(self): return str(self.Purchase_id) class Meta: verbose_name_plural='Purchase' db_table='Purchase' class Products(models.Model): Prod_code = models.AutoField(verbose_name='Product Code',primary_key=True) Product_name = models.CharField(verbose_name='Product Name',max_length=100) Quantity = models.CharField(verbose_name='Quantity(kg/L)',max_length=20) Rate = models.FloatField(verbose_name='Rate(per unit)',validators=[nonneg]) Colour = models.CharField(verbose_name='Colour', max_length=50) Product_description = models.CharField(verbose_name='Product Description', max_length=50) Stock_level = models.IntegerField(verbose_name='Stock Level',validators=[nonneg]) Shelf_life = models.IntegerField(verbose_name='Shelf Life',null=True,blank=True,validators=[nonneg]) objects = models.Manager() def __str__(self): return str(self.Prod_code) class Meta: verbose_name_plural='Product' db_table='Products' class Purchase_Consists_of(models.Model): Purchase_id = models.ForeignKey(Purchase, on_delete= models.CASCADE,verbose_name='Purchase ID') Prod_code = models.ForeignKey(Products, on_delete= models.CASCADE,verbose_name='Product Code') Quantity=models.CharField(verbose_name='Quantity',max_length=20) objects = models.Manager() def __str__(self): return str(self.Purchase_id) class Meta: verbose_name_plural='Purchase Consists of' db_table='Purchase_Consists_Of' unique_together=(('Purchase_id'),('Prod_code'),) I want the Total_amount in Purchase model to be calculated automatically and saved in the database when I input the values of Rate and Quantity in Products and Purchase_Consists_Of tables. The relationship is like this: Purchase.Total_amount=Products.Rate*Purchase_Consists_Of.Quantity. Is there any way to do this?? -
Unable to start project server while using infinite while loop in python task schedule
If I'm using schedule module to execute a function for a pre-defned times used the following code to achieve this, but using this infinite while loop unable start project server. Please help me to solve this issue. import schedule import time def test(): # code write here # function executes for every 10 mins schedule.every(10).minutes.do(test()) while True: schedule.run_pending() time.sleep(1) -
Django login form not authenticating/showing authentication
I've successfully embedded my login form onto my base.html page, which works and will lead the user into thesite if correct credentials are entered. However, when incorrect credentials are entered, the Django authentication which I assume would display "Incorrect username entered" or "Incorrect password entered" do not appear. Instead, you just get redirected to the page again with empty fields. Can someone help me as to why the Django authentication isn't working correctly? My login form code in my base.html file <form method="post" action="/login/"> {% csrf_token %} <div class="row justify-content-center"> <div id="login-box" > <div class="form-group"> <div class="login-text mb-2" >Login for Access</div> <p> <label for="id_username">Username</label> <input class="form-control" id="id_username" name="username" autofocus="" type="text" required> </p> <p> <label for="id_password">Password</label> <input class="form-control" id="id_password" name="password" type="password" required> </p> <button type="submit" class="btn btn-primary mt-2 mb-2">Login</button> </div> <a href="#" data-toggle="tooltip" data-placement="bottom" title=" Please contact your IT Administrator at college for information on how to reset your password">Forgot Password?</a> </div> </div> </form> --> </div> This is what is shown when incorrect credentials are entered. Here. And this is what the user is redirected to. Here. -
Docker: Django: netstat shows the 8000 port where lsof not shows
I found that on any system to know the ports listening we can check by using netstat -tulpn | grep 'LISTEN' OR lsof -i -P -n | grep 'LISTEN' I have docker container running django server using manage.py runserver 0.0.0.0:8000 So i wanted to check the ports listening on the docker using netstat and lsof inside the docker. Only netstat shows that 8000 is listening but not lsof why The image below shows the commands run inside the docker -
Google login using OpenID Connect in a React and Django web application
I'm new to React, Python and Django and trying to add to my web app the option to login with Google. The security aspect is very important to me so I make sure I understand and implement everything correctly according to Google OpenID Connect Documentation, but I run into all kinds of questions that I can't find any answers to them on the web. and hope you can help me to uderstand and find the right solutions. My web app composed from two main components: A frontend SPA based on React. A backend rest API server based on Django. As I understand, in such case, the reccomended grant type is authorization code. because I have a backend server that can fetch the token directly from Google without exposing it to the client browser. I started with the frontend part: Google recommend using their Google Sign-In, but I'm not sure how I use it in a React component. So I searched online and found the following implementation react-google-login. I tried using it and it worked, but when I started to check it a little more deeply I found that its not following Google OpenID Connect Documentation. I can't make it work … -
Queries with one item in the list in `__in` are extremely slow. Otherwise, super fast
I am retrieving event_id's by name with the code below: events = Events.objects.values_list('event__id', flat=True). \ filter(name__in=names).distinct() Everything is working great except when names consist of just one name. If I change my code to: events = Events.objects.values_list('event__id', flat=True). \ filter(name__in=names + ['x']).distinct() Once again, it becomes super fast. I am seriously going crazy cause this makes no sense. I used print(events.query) and it uses the same query basically, just the list changes. How is this possible? The execution time with one name in the list lasts for 30-60secs, otherwise it takes just 100-1000ms. The amount of event_ids don't change dramatically, so it's not the size issue.