Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
How do you solve django.db.migrations.exceptions.NodeNotFoundError in Django?
I get the following error when I do python manage.py makemigrations: django.db.migrations.exceptions.NodeNotFoundError: Migration leads.0001_initial dependencies reference nonexistent parent node ('auth', '0012_alter_user_first_name_max_length') This is a part of my 0001_initial.py: class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='User', ... How am I supposed to solve this error? Currently, I am in production. Thank you, and please leave a comment if you have any questions. -
No matching version found for @vue/cli-plugin-router@3.12.1 after npm audit fix --force
I have just run this: after npm audit fix --force But after that I got this issue: djackets_vue@0.1.0 serve vue-cli-service serve node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module '@vue/cli-plugin-router' Require stack: - C:\DjangoWeb\venv\Scripts\djackets_django - Copy\djackets_vue\node_modules\@vue\cli-service\lib\Service.js - C:\DjangoWeb\venv\Scripts\djackets_django - Copy\djackets_vue\node_modules\@vue\cli-service\bin\vue-cli-service.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at idToPlugin (C:\DjangoWeb\venv\Scripts\djackets_django - Copy\djackets_vue\node_modules\@vue\cli-service\lib\Service.js:150:14) at C:\DjangoWeb\venv\Scripts\djackets_django - Copy\djackets_vue\node_modules\@vue\cli-service\lib\Service.js:190:20 at Array.map (<anonymous>) at Service.resolvePlugins (C:\DjangoWeb\venv\Scripts\djackets_django - Copy\djackets_vue\node_modules\@vue\cli-service\lib\Service.js:176:10) at new Service (C:\DjangoWeb\venv\Scripts\djackets_django - Copy\djackets_vue\node_modules\@vue\cli-service\lib\Service.js:34:25) at Object.<anonymous> (C:\DjangoWeb\venv\Scripts\djackets_django - Copy\djackets_vue\node_modules\@vue\cli-service\bin\vue-cli-service.js:16:17) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\DjangoWeb\\venv\\Scripts\\djackets_django - Copy\\djackets_vue\\node_modules\\@vue\\cli-service\\lib\\Service.js', 'C:\\DjangoWeb\\venv\\Scripts\\djackets_django - Copy\\djackets_vue\\node_modules\\@vue\\cli-service\\bin\\vue-cli-service.js' ] } Here is my package.json: { "name": "djackets_vue", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build" }, "dependencies": { "axios": "^0.24.0", "bulma": "^0.9.3", "bulma-toast": "^2.4.1", "core-js": "^3.6.5", "vue": "^3.0.0", "vue-router": "^4.0.0-0", "vuex": "^4.0.0-0" }, "devDependencies": { "@vue/cli-plugin-babel": "^3.3.0", "@vue/cli-plugin-router": "3.12.1", "@vue/cli-plugin-vuex": "~4.5.0", "@vue/cli-service": "^3.12.1", "@vue/compiler-sfc": "^3.0.0", "sass": "^1.26.5", "sass-loader": "^8.0.2" } } I have just tried to unistall node_modules and npm then reinstall all of this, but still nothing Any idea? Thank you in advance -
Django Favorite system
I am trying to build a "add to favorite" system in django for my app. So far, I have a detail page called ad_detail, where I have a button that if the user clicks on, wether he already clicked on it or not, adds or remove the ad to his "watch list". This works fine. Now I am trying to do the same thing but in home.html, where I have couple ads that I render to the template. For each ad, I want to add the "add to watch list" button. If the user has aleady added the ad in his favorites, then show the icon-fill. If not show simply the icon-not-fill. When the user clicks on one of the displayed "add to favorite" button, then I want in views.py to be able to get the exact button that has been clicked, to then add it to user's favorites. Code below: models.py class VlandAd(models.Model): metaverse_name = models.CharField(max_length=100) title = models.CharField(max_length=100) description = models.TextField(null=True, blank=True) price = models.CharField(max_length=50) currency = models.CharField(max_length=8) ad_link = models.CharField(max_length=200) sold = models.BooleanField(default=False) bought_by = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True, related_name="has_bought") created = models.DateTimeField(auto_now_add=True) published = models.CharField(max_length = 30, choices=STATUS_CHOICES, default="Published" ) user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) … -
Hello everyone , i built web site with django framework for online services like freelancer,
and i want when the normal user requests a specific project from a particular freelancer ,I want to send him an email with project details what can i do? -
how to compare two objects fields in django
I have two objects and I want to compare them in order to find which fields are field in one and miss in the other... what should I do? how can I do it in a query(if it is possible) or how can I do it in python? assume two objects school1 and school2( from model School). the fields are students_number, classes, name, address) example: school1( 10,4,"","") school2(12,5,"alexi", "USA,alex street") -
Not Able to import 'RetrieveUpdateDestoryAPIView' from 'rest_framework.generics'
I am able to import other APIViews but not RetrieveUpdateDestoryAPIView using rest_framework.generics. from .models import Employee from .serializers import EmployeSerializer from rest_framework.generics import ListCreateAPIView, RetrieveUpdateDestoryAPIView # Create your views here. class emp_get(ListCreateAPIView): queryset = Employee.objects.all() serializer_class = EmployeSerializer class emp_api(RetrieveUpdateDestoryAPIView): queryset = Employee.objects.all() serializer_class = EmployeSerializer **File "../genericsAPIViewAndMixin/concreteApi/views.py", line 3, in from rest_framework.generics import ListCreateAPIView, DestroyAPIView, RetrieveUpdateDestoryAPIView ImportError: cannot import name 'RetrieveUpdateDestoryAPIView' from 'rest_framework.generics** -
Search part in navbar doesn't work properly (django)
I wanted to create a search box in my navbar and show the food which I search, but it seems it doesn't work properly. I can't find out where's the problem; I mean if I search a food which exists it shows me nothing. my views.py file: class SearchResultsView(ListView): model = Food template_name = "restaurant/food_search_results.html" context_object_name = "data" def get_queryset(self): query = self.request.POST.get("search") if query is not None: return Food.objects.filter(name__icontains=query) else: return my urls.py file: path("search", SearchResultsView.as_view(), name='search_results'), my base.html file: <form class="form-inline my-2 my-lg-0" action="/search" method="get"> {% csrf_token %} <div class="input-group"> <label> <input name="search" type="text" class="form-control" placeholder="Search Foods ..."> </label> <div class="input-group-append"> <a class="btn btn-outline-warning" href="{% url 'search_results' %}" type="submit" >Search</a> </div> </div> </form> -
Get Average of every n records in django in a efficient way
Imagine that you have 6 records like [1,2,3,4,5,6] how it is possible to calculate result bellow with least query to db in django? { 1 : (1+2)/2, 2 : (3+4)/2, 3 : (5+6)/2, } -
Navigation .a and help understand
Need help understanding if what my wicked mind has stumbled across and what thought I put back into universe has done any justice for my keenly thought out plan? Navigation is needed to assure my Renaissance..a -
Application error in Heroku web after deployment
I have successfully deployed my sentiment analysis web application on Heroku. Most of the features are working properly. One of the features is to extract Twitter data and analyze it. I have set the limit from 1-200 tweets. Supposedly, this is what the result should be: This is in my local host, I can extract up to 200 tweets: If I select a smaller number like the system works just fine but the error starts at 71 tweets and above: but sometimes, the amount that were successful before then have error if I try it again. Like I tried until 70 and it worked but then I tried 70 again then I get this error So I try to get the logs. I cant post it here because of the text limit but here's a text link to the logs: https://justpaste.it/46muj It works perfectly in my localhost but it have some issues in heroku. here's the link to my web app: https://sentymeter.herokuapp.com/ The problem is at import tweets. Can you help me solve this issue? I cant seem to figure it out. -
Celery with redis in django can't read django settings
I want to use celery with django and for that I installed celery and redis as backend for celery. This is celery.py: import os from celery import Celery from celery.schedules import crontab os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'finteck.settings.local') app = Celery('finteck') app.config_from_object('django.conf:settings', namespace='Celery') app.autodiscover_tasks() @app.task(bind=True) def debug_task(self): print(f'Request: {self.request!r}') app.conf.beat_schedule = { #Scheduler Name 'print-message-ten-seconds': { # Task Name (Name Specified in Decorator) 'task': 'print_msg_main', # Schedule 'schedule': crontab(minute="*/1"), # Function Arguments 'args': ("Hello",) }, } and this is the settings for celery inside local.py: CELERY_BROKER_URL = 'redis://localhost:6379' CELERY_RESULT_BACKEND = 'redis://localhost:6379' CELERY_ACCEPT_CONTENT = ['application/json'] CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' CELERY_TIMEZONE = "UTC" but when I run celery -A finteck worker -l info I get this error: [2022-01-09 08:03:41,229: WARNING/MainProcess] No hostname was supplied. Reverting to default 'localhost' [2022-01-09 08:03:41,229: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@localhost:5672//: Connection.open: (541) INTERNAL_ERROR - access to vhost '/' refused for user 'guest': vhost '/' is down. Trying to reconnect... I don't know what to do to solve this. -
Nginx 404 error on all static files, but directory is correct
I apologise that this has been asked many times. However all the solutions I found did not seem to fix my issue. I'm setting up a web server with Nginx and Gunicorn to host a Django app. I am using Gunicorn as a web server, which is running on 127.0.0.1 on port 8000. I'm able to connect to the web server through Nginx, but all static files give a 404 error despite their paths being correct. Here is the setup for Nginx: server { listen 80; server_name 192.168.1.70; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { alias /home/willis/indabom/bomenv/static; } location / { include proxy_params; proxy_pass http://127.0.0.1:8000; } } The nginx.conf file is unchanged from default as well. I have a folder in the 'bomenv' directory, which inside has two folders: 'admin' and 'bom', which both contain all of the static files the application needs. My settings.py for my Django app is all untouched aside from the following lines: STATIC_URL = '/home/willis/indabom/bomenv/static/' STATIC_ROOT = '/home/willis/indabom/bomenv/static/' -
TypeError at /predict/ 'method' object is not subscriptable in django
I am doing prediction on a machine learning model using PyTorch and in Django rest framework. while loading I am getting TypeError: 'method' object is not subscriptable error. How to rectify this error. My views.py file response = {} @api_view(['GET']) def result(request): solute = request.POST.get['solute'] solvent = request.POST.get['solvent'] results = predictions(solute, solvent) response["predictions"] = results[0].item() response["interaction_map"] = (results[1].detach().numpy()).tolist() return Response({'result': response}, status=200) apps.py class ApiConfig(AppConfig): name = 'api' MODEL_FILE = os.path.join(settings.MODELS) model = joblib.load(MODEL_FILE) urls.py urlpatterns = [ path('predict/',result, name='result'), ] -
How to return child object names along with parent details in django
I have two models Destination and Cruise #Models class Destination(models.Model): name = models.CharField(unique= True, null= False, blank=False, max_length= 50) description = models.TextField(max_length= 2000, null= False, blank=False) slug = models.SlugField() def __str__(self) -> str: return self.name class Cruise(models.Model): name = models.CharField(unique= True, null= False, blank=False, max_length= 50) description = models.TextField(max_length= 2000, null= False, blank=False) destinations = models.ForeignKey("Destination", null=True, blank=True, on_delete=models.SET_NULL) Im trying to show the Destination details along with all the Cruises under that destination. #Views class DestinationDetailView(DetailView): template_name = 'destination_detail.html' queryset = models.Destination.objects.all() context_object_name = "destination" HTML #html {% block content %} Destination Name = {{destination.name}} Description = {{destination.description}} Cruise = {{destination.cruises}} {% blockend content %} Please advise how to print all cruises under perticual destination. -
Unique Together validation on serializers
So I have a serializer where I pass a List of values rather than a dictionary. The validation works fine when the data received is a dictionary but fails to validate when list. this is my serializers - class itemSubCatSerializer(serializers.ModelSerializer): class Meta: model = itemSubCat fields = '__all__' validators = [ UniqueTogetherValidator( queryset=itemSubCat.objects.all(), fields=['tenant', 'name'] ) ] and this is my viewset create method - def create(self, request, format=None): data = request.data if isinstance(data, list): # <- is the main logic serializer = self.get_serializer(data=request.data, many=True) else: serializer = self.get_serializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) Any recommended way to use validator whan passing a List ? -
Django - Form Save
I can't save my signup form. I use allauth base.py ACCOUNT_SIGNUP_FORM_CLASS = 'userauth.forms.SignupForm' models.py from modelcluster.contrib.taggit import ClusterTaggableManager from django.contrib.auth.models import User class Userr(models.Model): tags = ClusterTaggableManager(blank=True) forms.py class SignupForm(forms.ModelForm): first_name = forms.CharField(max_length=100) last_name = forms.CharField(max_length=100) class Meta: model = Userr fields = ['tags'] def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] user.save() user.userr.tags = self.cleaned_data['tags'] user.userr.save() i get error AttributeError at /accounts/signup/ 'User' object has no attribute 'userr' -
the server does not distribute django + gunicorn + nginx static
On my ubuntu 20.04 I am trying to deploy a Django 3.2.8 project using nginx and gunicorn. The problem is that the server cannot find the static. Because of this, the pages are displayed without css and images. I tried many solutions from the internet but nothing helped me. Thank you in advance for your time! at first im start this script (start_gunicorn.sh) #!/bin/bash source /root/myapps/zhanna_first_web/env/bin/activate exec gunicorn -c /root/myapps/zhanna_first_web/zhanna/gunicorn_config.py lawyer> gunicorn_config.py: command = '/root/myapps/zhanna_first_web/env/bin/gunicorn' pythonpath = '/root/myapps/zhanna_first_web/zhanna' bind = '185.46.8.164:8001' workers = 3 user = 'root' limit_request_fields = 32000 limit_request_field_size = 0 raw_env = 'DJANGO_SETTINGS_MODULE=lawyer.settings' /etc/nginx/sites-enabled/default server { listen 80; server_name 185.46.8.164; location /static { autoindex on; root /myapps/zhanna_first_app/zhanna/static; } location / { proxy_pass http://185.46.8.164:8001; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Real-IP $remote_addr; add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"'; add_header Access-Control-Allow-Origin *; } } Ubuntu responds to the launch of the start_gunicorn script with this output. [2022-01-09 09:53:31 +0300] [76583] [INFO] Starting gunicorn 20.1.0 [2022-01-09 09:53:31 +0300] [76583] [INFO] Listening at: http://185.46.8.164:8001 (76583) [2022-01-09 09:53:31 +0300] [76583] [INFO] Using worker: sync [2022-01-09 09:53:31 +0300] [76585] [INFO] Booting worker with pid: 76585 [2022-01-09 09:53:31 +0300] [76586] [INFO] Booting worker with pid: 76586 [2022-01-09 09:53:31 +0300] … -
annotate an extra field but show just once in api response in django rest
I have to add an extra field using annotate in the get api. The field is something like count of a field of all the objects, not a particular object. And I want it to appear just once in the response of get api. If I use annotate, it appears on all the objects response. How can it be achieved?? My model: class Package(models.Model): location = models.CharField() bought_times = models.IntegerField(default=0) /....................../ Now if I use annotate something like this: qs = Package.objects.filter(....).annotate(whole_bought_counts=Sum("bought_times") or some logic) In the response it will come like: { id = 1, localtion = Paris, bought_times = 22, whole_bought_counts =72, } { id = 1, localtion = Miami, bought_times = 16, whole_bought_counts =72, } id = 1, localtion = Switzerland, bought_times = 24, whole_bought_counts =72, } I need the whole_bought_counts to appear just to appear once, because the count is used for the dashboard info only. Appearing several times will make it appear 100+ times which makes the api quite slow. isnt it?? -
Modal popup for Django DeleteView
I'm trying to have a modal popup asking for confirmation before deleting the object using DeleteView. So far, I've tried solutions from this thread using the following code. views.py class SessionCancelView( SuccessMessageMixin, LoginRequiredMixin, UserPassesTestMixin, DeleteView ): model = Session success_url = "/profile" success_message = "Session was cancelled successfully" # FIXME: success message not showing - eh maybe not necessary tho def test_func(self): session = self.get_object() if self.request.user == session.student: return True return False def get(self, request, *args, **kwargs): return self.post(request, *args, **kwargs) profile.html <!-- Modal --> <div class="modal fade" id="sessionDeleteModal" tabindex="-1" role="dialog" aria-labelledby="sessionDeleteModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Cancel Session</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> Are you sure you want to cancel this session? </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button class="btn btn-outline-danger" type="submit">Yes, Cancel</button> <form method="POST" action="{% url 'session-cancel' session.id %}"> {% csrf_token %}<input type="submit" value="DELETE"> </form> </div> </div> </div> </div> . . . {% for session in user_sessions %} {% if session.is_upcoming %} <div class="card bg-light mb-3" style="width: 18rem;"> <div class="card-header">{{ session.date|date:"F d [l]" }}</div> <div class="card-body"> <h5 class="card-title">{{ session.get_timeblock_display }}</h5> <h6 class="card-subtitle mb-2 text-muted">{{ session.weekday }}</h6> <p class="card-text">{{ session.helptype }}</p> <a class='btn btn-outline-secondary btn-small … -
Django: Unique IDs for each sub-model of a Model
I'm fairly new to Django, but I believe my question is more towards designing databases regardless of the framework or platform. Let me explain using following quick pseudo. I have following two models: class Issue(models.Model): title = models.CharField(max_length=60) status = models.IntegerField(choices=Status.choices, default=Status.OPEN) ... class Comment(models.Model): issue = models.ForeignKey(Issue, on_delete=models.CASCADE, related_name="comments") text = models.TextField() ... In my web app, I'm building a collection of Issues. Each issue is assigned a django's auto-generated unique ID number (pk), which is perfect. And for each issue there is a property comments which holds a collection of comments specific to this issue. Each comment also has a system-generated unique ID, but the sequence of this ID is not specific to the Issue model. Means if I create 3 comments in Issue #1 (comment #1, #2, #3), and then I create a comment under Issue #2, that comment's ID is set as #4 instead of #1. I understand that this is the way the data models are defined. What I would like to have is that whenever a new issue is created and a comment added, its ID should start from 1. I cannot define comment IDs manually by incrementing over the previous comment ID because … -
How to control the size of div by adding class using jquery?
sorry if the question isn't clear enough but let me explain what is happened to me. now I have 5 graphs that have been created by Pandas and want to use jquery to affect on grid system in bootstrap. all the divs have the following class "col-md-6" except the last child which has "col-md-12", what I would like to do is: to add "col-md-6" to the last child in case of the length of graphs are even number and remove the "col-md-12" from the last one. actually, this process is working and the class becomes added to the last child after the document is ready, however, the last graph does apply "col-md-12" and does not apply "col-md-6" even though, it has "col-md-6" but when I do a resize for the page the graph starts to apply "col-md-6" on it. the question is How can I apply the "col-md-6" dynamically without doing resize for the page? you can see the behavior before and after resize to understand what I mean exactly:- before do resize after doing a resize The code is like so:- ... <div class="col-md-6 error-graph"> {% if regular_group %} <div style=""> <div style="max-width: 100%;max-height: 100%"> {{ regular_group|safe }} </div> … -
How to call a object instance with string in Django/Wagtail?
I have a view need to generate different form in the same template. Is possible to use string be a object instance? like this: def register(request, form_name): form = form_name(data=request.POST) return render(request, 'template', {'form':form}) -
Django access site name/url in template - views, contexts and settings
(It feels like "best practices" type of question, sorry if these don't belong here) I'm building a website which has user registration and password reset feature, both of which would send email to the user with a link to click to complete the respective process. While testing on a staging box, I used a dirty workaround in order finish the Proof Of Concept - hardcoded the website address in the template ) Needless to say, I want to fix this sooner rather than later. Searching around, found references to django.contrib.sites, which looks like a possible solution, though one thing bothers me - technically there's but one site, but with two stages, staging and production. I don't want to swim against the current, potentially abusing "sites", where another solution might apply. I've then considered another approach - add respective URLs to corresponding settings.py files, of which I already have a grasp - one for local, one for staging, and one for prod. The issue here is probably obvious - I don't think it's proper (or possible) to read the settings.py from templates, and trying to keep the solution as simple as possible, I'm using a few standard views, which means I … -
GET Request causes net::ERR_CONNECTION_REFUSED (Django/PostgreSQL)
My POST and GET requests are generally working and not throwing errors but there is a specific GET Request that causes the following error: net::ERR_CONNECTION_REFUSED And closes my development server. There is no traceback suggesting an error the server simply closes and I have to restart it. def marker_info(request): template_name = 'testingland/electra.html' neLat = request.GET.get('neLat', None) neLng = request.GET.get('neLng', None) swLat = request.GET.get('swLat', None) swLng = request.GET.get('swLng', None) ne = (neLat, neLng) sw = (swLat, swLng) xmin = float(sw[1]) ymin = float(sw[0]) xmax = float(ne[1]) ymax = float(ne[0]) bbox = (xmin, ymin, xmax, ymax) print(bbox) geom = Polygon.from_bbox(bbox) qs = mapCafes.objects.filter(geolocation__coveredby=geom) //this is where it appears to fail print(qs) return JsonResponse([ [cafe.cafe_name, cafe.cafe_address, cafe.geolocation.y, cafe.geolocation.x, cafe.source, cafe.venue_type, cafe.id] for cafe in qs ], safe=False) I'm not quite sure where to go next in terms of debugging this problem. -
elementui datepicker+django: how to pass the user selected date value to the backend view.py
How to get the el-date-picker date value and pass it to django view.py. pickup_date = request.POST.get() is not working how to make the date picker a required field that user must choose a date html: <!DOCTYPE html> <html lang="en"> <head> <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">--> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> </head> <style> </style> <body> <form> <div id='app'> <el-date-picker v-model="value" type="date" placeholder="select date" value-format="yyyy-MM-dd" :picker-options="pickerOptions"> </el-date-picker> </div> <button type="submit">submit</button> </form> </body> <script src="https://cdn.jsdelivr.net/npm/vue@2.6/dist/vue.min.js"></script> <script src="https://unpkg.com/element-ui/lib/index.js"></script> <script> var Vue = new Vue({ el: '#app', data: { value:'', pickerOptions: { disabledDate(time) { return time.getTime() <= Date.now() } }, }, created() { }, mounted() { }, methods: { } }) </script> </html>