Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
django restframework channels send multiple socket messages at in one go
I want to send an update message to the screen every time its details update. problem is frequent updates end up sending multiple messages to the screen. I want to wait 1 minute to watch for all the changes and send one message to the screen. I am using the Django signal to watch for changes in the database. Here is my code. //views.py class ScreenWebListCreateView(PermissionOrganizationMixins, OrganizationQuerySetMixin, generics.ListCreateAPIView): queryset = ScreenWeb.objects.all() serializer_class = ScreenWebSerializer def perform_create(self, serializer): serializer.save(organization=self.request.organization) # retrieveupdatedestroyapiview class ScreenWebRetrieveUpdateDestroyView(PermissionOrganizationMixins, generics.RetrieveUpdateDestroyAPIView): queryset = ScreenWeb.objects.all() serializer_class = ScreenWebSerializer lookup_field = 'pk' def perform_update(self, serializer): serializer.save(organization=self.request.organization) //signals.py @receiver(post_save, sender=ScreenWeb) def send_socket_message_on_screen_web_update(sender, instance, created, **kwargs): send_update_message_socket_tv(instance.screenCodeApp) @receiver(post_delete, sender=ScreenWeb) def send_socket_message_on_screen_web_delete(sender, instance, **kwargs): send_update_message_socket_tv(instance.screenCodeApp) is there a way to wait for some time to include all changes and then send an update message? -
How to select multiple relative objects of a single object at once Django ForeignKey
So I have two classes one is Book and another one is Category initially I have add the foreign key in Book which points to Category. class Category(models.Model): class Meta: verbose_name_plural = "Categories" category = models.CharField(max_length=20) def __str__(self): return self.category class Book(models.Model): book_title = models.CharField(max_length=20) category = models.ForeignKey(Category, on_delete=models.CASCADE) def __str__(self): return self.book_title And it works fine I was able to select a category from a selected book inside the admin panel But now I want to select books from category section so that I can select all the books which are of that single category. And for that I changed the code in the following way class Book(models.Model): book_title = models.CharField(max_length=20) def __str__(self): return self.book_title class Category(models.Model): class Meta: verbose_name_plural = "Categories" category = models.CharField(max_length=20) book = models.ForeignKey(Book, on_delete=models.PROTECT) def __str__(self): return self.category The upper code returns tons of errors. Let suppose I have four books in Book table and one category in Category table. so now I want to relate all those books to that category in Category table by just opening a single category. What happening right now is that I have to open each book entry and relate to it's category. But I want a drop … -
How to fix the following group_send communication issue in Django
I want to create a websocket which will send a group message, but the following code does not seem to be working. The function that must be called is not being called, and wrapping it in a async_to_sync, results in a error. Here is the code: async def receive(self, text_data): # Store the message in the database message = json.loads(text_data) name = message['name'] text = message['message'] document = {'name': name, 'message': text} # Send the message to all connected clients # await self.send(text_data=json.dumps(message)) await self.channel_layer.group_send( self.room_group_name, { 'type':'chat_message', 'message':message } ) collection.update_one( {}, {'$push': {'text': document}} ) async def chat_message(self, event): # Send the message to all connected clients print("Message sent to group") message = event['message'] await self.send(text_data=json.dumps({'type':'chat','message': message})) However when I use await self.send(text_data=json.dumps(message)) It does work, only the group_send is not working. Below is the frontend(SvelteKit) code if needed: socket = new WebSocket("ws://127.0.0.1:8000/ws/chat"); socket.addEventListener("open", () => { console.log("Connection is successful!"); }); socket.onmessage = (e) => { const message = JSON.parse`your text`(e.data); console.log("Received message:", message); messages = [...messages, message]; }; });``` -
Django project is not displaying web page [closed]
When I include the Jinja syntax in my django project, the content of the webpage will not display so I viewed the page source and found out that some of the code are missing but when I remove the Jinja it will display but without fetching data from the database {% extends 'shop/base.html' %} {% load static %} {% block title %}Address{% endblock title %} {% block main-content %} <div class="container my-5"> <div class="row"> <h3>Welcome <span class="text-capitalize">{{request.user}}</span></h3> <div class="col-sm-2 border-end"> <ul class="list-unstyled"> <li class="d-grid"><a href="{% url 'profile' %}" class="btn ">Profile</a> </li> <li class="d-grid"><a href="{% url 'address' %}" class="btn btn-primary" >Address</a> </li> </ul> </div> <div class="col-sm-8 offset-sm-1"> <div class="row"> {% for ad in add %} <div class="col-sm-6"> <div class="card m-2"> <div class="card-body"> <h3> Address {{forloop.counter}}</h3> <p>Name: {{ad.name}}</p> <p>Locality: {{ad.locality}}</p> <p>Mobile: {{ad.mobile}}</p> <p>City: {{ad.city}}</p> <p>State: {{ad.state}}</p> <p>Zipcode: {{ad.zip_code}}</p> </div> </div> </div> {% endfor %} </div> </div> {% endblock main-content %} -
How to stop/cancel the celery task by passing 'task_id' to a python function in django?
I have celery task Id, I want to send it as query param to a django url endpoint and cancel/revoke the task using that task_id. Is it possible? If so, how? -
TypeError: MyUserManager.create_superuser() missing 1 required positional argument: 'username'
I'm trying to create a super-user using this command: "python manage.py createsuperuser", but I can't. Here's the error: "TypeError: MyUserManager.create_superuser() missing 1 required positional argument: 'username'". Here's my code: ''' class MyUserManager(UserManager): def create_superuser(self, username: str, email: str | None, password: str | None, **extra_fields: Any) -> Any: self.username = extra_fields['phone'] REQUIRED_FIELDS = ['username'] return super().create_superuser(username, email, password, **extra_fields) def create_user(self, username: str, email: str | None = ..., password: str | None = ..., **extra_fields: Any) -> Any: username = extra_fields['phone'] return super().create_user(username, email, password, **extra_fields) ''' -
Which Logging Method is Better?
When I define a logger in Django as follows logger.warning(f"{log_event_base}.celery_task.run", {"reason": "n/a"}) The SonarQube application gives a warning like this String formatting should be used correctly python:S3457 When I did some research, I found that f-string would be more performant, and when I looked at the sonarqube documentation, I saw some information that it might catch some errors at runtime. However, I think there might be a problem here as well If I use f-string, will Sentry have more of the same error? For example: logger.error("Failed to retrieve URL %s", url) logger.error(f"Failed to retrieve URL {url}") Which of these uses is more suitable for Sentry I tried logging with F-String but there may be problems with Sentry -
automatic dns registration with python selenium (bot) [closed]
in the project I am doing, I make dns settings manually when websites are written. but I want to do it automatically. so a website will be written and this dns part will be added automatically. i want to do this with python selenium. I manually register it manually, I get the dns from google and register it in my own interface. I want to do it automatically with python selenium bot can you help me -
How to deal with Django Cascade deletion and django-simple-history?
I'm working on a django project and i'd like to developp an history application to show every changes in my models. I installed the package django-simple-history that seems to be the easier and the most used. The thing is, that it raises an error when i try to delete an object involved in the ForeignKey of a child Model. Here is an example: class ParentModel(models.Model): age = models.IntegerField() name= models.CharField(max_length = 30, blank=True) history = HistoricalRecords() class ChildModel(models.Model): parent_objects = models.HistoricForeignKey(ParentModel, on_delete=models.CASCADE) book = models.CharField(max_length = 20, blank=False) history = HistoricalRecords() So i have to tables, and one refers to the other by a ForeignKey (i used the package's HistoricForeignKey in my code but it's the same). Then i access to the historic objects like this: from django.apps import apps apps.get_model("ParentModelHistorical").objects.all() apps.get_model("ChildrenModelHistorical").objects.all() The problem is when i delete a ParentModel's object. So all the related ChildrenModel's objects are also delted (the CASCADE deletion). And when i try to access again the historic objects i get this : apps.get_model("ParentModelHistorical").objects.all() #-> no errors, everything's fine apps.get_model("ChildrenModelHistorical")..objects.all() #-> ERROR : MyApp.models.parent_object.DoesNotExist: parent_object matching query does not exist. So what i understand is that the historic object of the Child Model is raising an … -
How to get a job in Canada from Amritsar
Canada is a dream place to live and work for many Indians as other countries people want to go there. There are many Indian companies in Canada hiring working on job visa The highest level of life, a wide range of career opportunities, excellent working conditions, experience, competitive earnings, and a low unemployment rate are all factors. Above all, Canada offers the best-paying jobs on the planet. It’s no surprise that many Indians move to Canada in search of work. After all, Canada, like every other foreign country, has its own set of restrictions for international workers. We’ll show you how to get a job in Canada if you’re from India. Let’s dive in! Fly-High is one of the most prominent and best immigration consultants in Amritsar to Canada & across the globe If you want to meet the demands of industries and labour markets in different provinces, Canada relies on the services of experts, trained young, and skilled workers. That demand has resulted in several job openings for deserving, skilled, and experienced candidates. It might not easy to get a Canadian work permit in India. -
Using django-filters with MPTT Model
I have a MPTT model ProductCategory class ProductCategory(MPTTModel): class MPTTMeta: order_insertion_by = ["name"] class Meta: verbose_name = "Category" verbose_name_plural = "Categories" name = models.CharField(max_length=255, verbose_name="Название категории") parent = TreeForeignKey( "self", on_delete=models.PROTECT, null=True, blank=True, related_name="children", db_index=True, verbose_name="Parent category", ) def __str__(self): return f"{self.name}" which have a ForeignKey to ProductInfo model class ProductInfo(models.Model): class Meta: verbose_name_plural = "Product info" verbose_name = "Products info" product = models.OneToOneField("Product", on_delete=models.CASCADE, null=True, verbose_name="Product") category = TreeForeignKey( "ProductCategory", on_delete=models.PROTECT, related_name="productinfo", null=True, verbose_name="category id", ) Now I want to filter unique product categories. That is, I don't want to receive all product categories, but only unique ones. My views.py class CategoryListAPIView(ListAPIView): allowed_methods = ["get"] serializer_class = CategoryListSerializer filter_backends = (DjangoFilterBackend) filterset_class = CategoryFilter def list(self, request, *args, **kwargs): return super().list(request, *args, **kwargs) def get_queryset(self): return ProductCategory.objects.filter(id__in=ProductInfo.objects.filter(product__in=Product.objects.filter(store__user=self.request.user)) .filter(category_id__isnull=False) .values("category") .distinct() ) So, I get queryset type <class 'mptt.querysets.TreeQuerySet'> How should I create a FilterSet class to filter product categories in such way: api/v1/categories/?category_ids=1,2,3 My filters.py class ListFilter(filters.Filter): def filter(self, qs, value): if not value: return qs self.lookup_expr = "in" values = value.split(",") return super(ListFilter, self).filter(qs, values) class CategoryFilter(FilterSet): order_by_field = "ordering" ordering = OrderingFilter( fields=( "name", ) ) category_ids = ListFilter(field_name="id") class Meta: model = ProductCategory fields = [ … -
load static files not working even after referencing
I am trying to modify a bootstrap made webpage for my project the thing is the statis files (collectively assets) are put inside the folder so the project name is Portfolio then the static file is in tha path /static/Portfolio/static/ inside that static folder we get the /assests folder - > Portfolio/static/Portfolio/static/assets like this now i tried to do the {% load static %} method in my index.html page few of the css got applied here is the director . ├── css │ └── style.css ├── img │ ├── apple-touch-icon.png │ ├── favicon.png │ ├── hero-bg.jpg │ ├── portfolio │ ├── profile-img.jpg │ └── testimonials ├── js │ └── main.js ├── scss │ └── Readme.txt └── vendor ├── aos ├── bootstrap ├── bootstrap-icons ├── boxicons ├── glightbox ├── isotope-layout ├── php-email-form ├── purecounter ├── swiper ├── typed.js └── waypoints now here this is my header of my .HTML file {% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta content="width=device-width, initial-scale=1.0" name="viewport"> <title>Siddharth D</title> <meta content="" name="description"> <meta content="" name="keywords"> <!-- Favicons --> <link href= " {% static 'assets/img/favicon.png' %}" rel="icon"> <link href= " {% static 'assets/img/apple-touch-icon.png' %}" rel="apple-touch-icon"> <!-- Google Fonts --> <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet"> <!-- Vendor … -
Using Patch to add a new instance of a nested field when using a RetrieveAPIView in Django Rest Framework
I have a set up a route for a RetrieveAPIView and am testing it in Postman using PATCH. I am writing a value into a nested field, which is working but deletes all other instances of that nested model. Here is what I enter in 'JSON body' in Postman { "cards": [ 9 ] } When I PATCH the value '9', it deletes all other 'card' instances. I was expecting it to simply add that 'card' instance without taking the others away. This is an example of the response: { "id": 19, "name": "collector two", "email": "two@example.com", "cards": [ 9 ] } Here is my view code class CollectorRetrieveView(generics.UpdateAPIView): queryset = Collector.objects.all() serializer_class = SmallCollectorSerializer permission_classes = [HasAPIKey | IsAuthenticated] lookup_field = 'email' Serializer class SmallCollectorSerializer(serializers.ModelSerializer): class Meta: model = Collector fields = ["id", "name", "email", "cards"] Route path("collector_retrieve/<email>", CollectorRetrieveView.as_view(), name="collector_retrieve"), I tried to PATCH 'card' 9 without deleting the other card instances -
Thumbnail display problem in django templates - sorl-thumbnail
I hope you're all well. I'm making a small Django site, for the frontend I wanted to integrate thumbnail to properly visualize the graphics of the site but this is not displayed So I went through 3 steps with the sorl-thumbnail github: pip install sorl-thumbnail in the django settings, specify 'sorl.thumbnail' in the apps section Put the following lines in a template where I want to display a thumbnail {% load thumbnail %} {% thumbnail item.image "100x100" crop="center" as im %} <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"> {% endthumbnail %} But nothing is displayed. Do you have any idea why? -
Docker-Compose: Can't find entrypoint.sh when mounted
I'm trying to build a compose file with Django services with an entrypoint for each service to perform migrations, but docker can't locate the entrypoint.sh when I mount my directory, but it works when I don't. the container shows this error exec /code/dev/point.sh: no such file or directory dockerfile FROM python:3.11-slim-bullseye WORKDIR /code COPY req.txt . RUN pip3 install -r req.txt --no-cache-dir COPY ./dev/entrypoint.sh ./dev/ RUN sed -i 's/\r$//g' ./dev/entrypoint.sh RUN chmod +x ./dev/entrypoint.sh # Convert line endings to Unix-style (LF) RUN apt-get update && apt-get install -y dos2unix && dos2unix ./dev/entrypoint.sh && chmod +x ./dev/entrypoint.sh COPY . . ENTRYPOINT ["/code/dev/entrypoint.sh"] CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] compose.yaml services: auth: build: context: ./Auth dockerfile: dev/dockerfile container_name: Auth env_file: - "./Auth/Auth/.env" ports: - 8001:8000 expose: - 8001 networks: - backend volumes: - ./Auth:/code artifact: build: context: ./Artifact dockerfile: dev/dockerfile container_name: Artifact env_file: - "./Artifact/Artifact/.env" ports: - 8002:8000 expose: - 8002 networks: - backend volumes: - ./Artifact:/code networks: backend: entrypoint.sh #!/bin/sh # entrypoint.sh python manage.py makemigrations # Run migrations python manage.py migrate # Then run the main container command (passed to us as arguments) exec "$@" directory structure inside docker: -
Why does this error Django throw the error cannot resolve keyword slug
I have been trying to build a students learning platform but am having some real issues using slug in Django to create readable urls but i have encountered this error Cannot resolve keyword 'slug' into field. Choices are: Notes, Standard, Standard_id, created_at, created_by, created_by_id, id, lesson_id, name, position, ppt, slugs, subject, subject_id, video Request Method: GET Request URL: http://127.0.0.1:8000/curriculumprimary-four/001/None/ Django Version: 3.2.12 Exception Type: FieldError Exception Value: Cannot resolve keyword 'slug' into field. Choices are: Notes, Standard, Standard_id, created_at, created_by, created_by_id, id, lesson_id, name, position, ppt, slugs, subject, subject_id, video Exception Location: /usr/lib/python3/dist-packages/django/db/models/sql/query.py, line 1569, in names_to_path Python Executable: /usr/bin/python3 Python Version: 3.10.6 Python Path: ['/home/aiden/Projects/LMS/LMS', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/home/aiden/.local/lib/python3.10/site-packages', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages'] Server time: Tue, 25 Jul 2023 09:27:05 +0000 This my models.py file code from typing import Iterable, Optional from django.db import models import os from django.template.defaultfilters import slugify from django.contrib.auth.models import User from django.urls import reverse class Standard(models.Model): name = models.CharField(max_length=100, unique=True) slug = models.SlugField(null=True, blank = True) description = models.TextField(max_length=500, blank=True) def __str__(self): return self.name def save(self, *args, **kwargs): self.slug = slugify(self.name) return super().save(*args, **kwargs) def save_subject_img(instance, filename): upload_to = 'Images/' ext = filename.split('.')[-1] #get filename if instance.subject_id: filename = 'Subject_Pictures/{}.{}'.format(instance.subject_id, ext) return os.path.join(upload_to,filename) class Subject (models.Model): … -
TyoeError: context must be a dict rather than set
When I input the 127.0.0.1:8000/decore_detail/123B/, I want to get the decore_detail.html. But, I run the following config code, it reports me the error. How to solve it? "TyoeError: context must be a dict rather than set" Traceback (most recent call last): File "C:\Users\daiyij\Anaconda3\envs\django\lib\site-packages\django\core\handlers\exception.py", line 55, in inner response = get_response(request) File "C:\Users\daiyij\Anaconda3\envs\django\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "D:\decoredesigner\mySite\DecoreGenerator\views.py", line 14, in decore_detail return render(request,'decore_detail.html',{'decore_detail',decore_detail}) File "C:\Users\daiyij\Anaconda3\envs\django\lib\site-packages\django\shortcuts.py", line 24, in render content = loader.render_to_string(template_name, context, request, using=using) File "C:\Users\daiyij\Anaconda3\envs\django\lib\site-packages\django\template\loader.py", line 62, in render_to_string return template.render(context, request) File "C:\Users\daiyij\Anaconda3\envs\django\lib\site-packages\django\template\backends\django.py", line 57, in render context = make_context( File "C:\Users\daiyij\Anaconda3\envs\django\lib\site-packages\django\template\context.py", line 278, in make_context raise TypeError( Exception Type: TypeError at /decore_detail/7520N/ Exception Value: context must be a dict rather than set. The urls.py: from myapp.views import decore_detail urlpatterns = [ path('admin/', admin.site.urls), path('decore_detail/<str:decore_detail>/',views.decore_detail,name='decore_detail'), ] The views.py: def decore_detail(request,decore_detail): context = {"decore_detail": decore_detail} return render(request,'decore_detail.html',{'decore_detail',decore_detail}) The decore_detail.py: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Item Detail</title> </head> <body> <h1>Item Detail - {{decore_detail}}</h1> </body> </html> -
No module named 'celery.tasks' when trying to import inspect/revoke function in celery
I was trying to import revoke() method from celery module as follows - from celery.tasks.control import revoke but it says, "No module named 'celery.tasks'". Why is it so? All celery tasks are working perfectly fine but whenever I try to revoke/inspect a particular celery task using it's ID, this returns error. Is there any other way to revoke/inspect a celery task using it's ID? -
How to run a react+django app as an Ubuntu service?
I know I can run a React + Django app from the command line, e.g.: > npm start > python manage.py runserver But I want it to keep running even after I exit the terminal, or reboot the computer, just like the other services on my Ubuntu machine. Is there a simple way to run the app by e.g. > service react start > service django start and stop it using > service react stop > service django stop so that the service automatically starts at startup? -
Django Model field isn't visible in Django Admin
Django admin isn't showing category field I have Model class UserCart(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) menu_item = models.ForeignKey(MenuItem, on_delete=models.CASCADE) menu_item_quantity = models.SmallIntegerField(max_length=2), unit_price = models.DecimalField(max_digits=6, decimal_places=2) price = models.DecimalField(max_digits=6, decimal_places=2) class Meta: unique_together = ('user', 'menu_item') And I have also registered in admin.py from django.contrib import admin from .models import Category, MenuItem, Order, OrderItem, UserCart (...) admin.site.register(UserCart) but Django admin shows only user, menu item, unit price, and price field How can i fix it -
Need matching Django ORM query with SQL
I am having table structure like below and my input is like 2018 id registration_year 1 2014-2016 2 2017-2019 My sql query is like below, SELECT id FROM table_name WHERE SUBSTRING(registeration_year,1,4) <= 2018 AND SUBSTRING(registeration_year,6,4) >= 2018 then id will be 2. I want to convert it into Django ORM query. Thanks in advance. Kindly help with Django. -
'auth/captcha-check-failed', message: 'Hostname match not found',
My Firebase configurations are correct still I'm getting a hostname match not found error. Even if the hostname is mentioned in the authorized domain of Firebase. What I'm trying to do is when the user fills in the phone number field and clicks on send code, he will see recaptcha and then after verifying, he will get OTP code on the phone number he gave as input. `{% extends 'customer/base.html' %} {% load bootstrap5 %} {% block head %} <script src="https://www.gstatic.com/firebasejs/8.2.1/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/8.2.1/firebase-auth.js"></script> <script src="https://www.google.com/recaptcha/api.js" async defer></script> {% endblock head %} {% block main %} <b class="text-secondary">Basic Information</b><br> <div class="card mb-5 mt-2 bg-white"> <div class="card-body"> <form method="post" enctype="multipart/form-data"> {% csrf_token %} {% bootstrap_form userForm %} {% bootstrap_form customer_Form %} <input type="hidden" name="action" value="update_profile"> <button type="submit" class="btn btn-warning">Save</button> </form> </div> </div> <b class="text-secondary">Change Password</b><br> <div class="card mb-5 mt-2 bg-white"> <div class="card-body"> <form method="post" enctype="multipart/form-data"> {% csrf_token %} {% bootstrap_form password_form %} <input type="hidden" name="action" value="update_password"> <button type="submit" class="btn btn-warning">Save</button> </form> </div> </div> <b class="text-secondary">Phone Number</b><br> <div class="card mb-5 mt-2 bg-white"> <div class="card-body"> <div id="recaptcha-container"></div> <div id="get-code" class="input-group mb-3"> <input type="text" class="form-control" placeholder="Phone Number" > <button class="btn btn-warning" type="button">Send Code</span> </div> <div id="verify-code" class="input-group mb-3 d-none"> <input type="text" class="form-control" placeholder="Verification Code" > … -
How to run django project contains an docker file
I'm trying to run my Django project first time I'm using docker readme file Docker should be running In the project root run `docker-compose up` Go to localhost to view the project docker-compose.yml version: '3.7' services: web: build: context: . dockerfile: Dockerfile entrypoint: "/app/run_server.sh" ports: - "80:8000" env_file: - .env volumes: - .:/app/ restart: "on-failure" depends_on: - db - redis db: image: postgres:11-alpine volumes: - ~/pgsql/quiz_bot:/var/lib/postgresql/data/ environment: - POSTGRES_PASSWORD=password - POSTGRES_DB=postgres - PGPORT=5432 - POSTGRES_USER=postgres restart: "on-failure" # Redis redis: image: redis hostname: redis I tried to do makemigrations but it shows an error like RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': could not translate host name "db" to address: Unknown host How to solve this issue? -
I want to create a API endpoint to fetch User and User Profile by attribute "user_id" in djangoRestAPI, user_id will be sent by the client
models.py class User_profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) name = models.CharField(max_length=50, blank=False) phone = models.CharField(max_length=20, blank=False) profileImg = models.ImageField(upload_to='User/Profile_Picture', default='User/Profile_Picture/logo.png') city = models.CharField(max_length=50, blank=False, default=None) state = models.CharField(max_length=50, blank=False, default=None) birthdate = models.DateField(blank=False) bio = models.TextField(max_length=1000, blank=True, null=True) privacy = models.CharField(max_length=20, choices=PRIVACY_CHOICES, default='public', blank=False) requests = models.ManyToManyField(User, related_name='follow_request_user', default=None, blank=True) verified = models.BooleanField(default=False, blank=False) following_user = models.ManyToManyField(User, related_name='following_user', default=None, blank=True) followers = models.ManyToManyField(User, related_name='user_followers', default=None, blank=True) objects = models.Manager() def __str__(self): return self.name serializer.py from rest_framework import serializers from .models import * class ProfileSerializer(serializers.ModelSerializer): class Meta: model = User_profile fields = "__all__" **api_views.py ** from django.shortcuts import get_object_or_404 from rest_framework.response import Response from rest_framework.views import APIView from .serializer import * from .models import * class ProfileAPI(APIView): def get(self, request, *args, **kwargs): user = get_object_or_404(User, id=kwargs['user_id']) profile_serializer = ProfileSerializer(user,many=True) return Response(profile_serializer.data) **api_urls.py ** from django.urls import path from . import api_views urlpatterns = [ path('profile/<user_id>', api_views.ProfileAPI.as_view(), name="profile") ] I want my response in JSON format so that i can use it in android app. I went through many blogs and Stackoverflow answers but any of that didn't give desired output In Short i just expect that client sends a userid and get User and UserProfile in json format getting "TypeError: 'User' object … -
How to parse a array variable into a Django template
So I have a views.py which contains the following code that is applicable to the problem. def check(request): data = [] if request.method == 'POST': prompt = request.POST['pathway'] youtube = request.POST.get('youtube') udemy = request.POST.get('udemy') # Uses the user's prompt to generate the roadmap data = scrapeSite(prompt) looprange = range(len(data)) if youtube == "youtubego": ytid, yttitle,ytthumbnail = searchyt(prompt, data) context = { 'ytid': ytid, 'yttitle': yttitle, 'loopnum': looprange, 'ytthumbnail': ytthumbnail, } return render(request, 'generate.html', context) basically it gets the thumbnails, titles and ids of a variable number of YouTube videos. They are all stored in different arrays. Each of these are assigned to a value in the context dictionary which is then sent to the template generate.html shown below {% extends 'main.html'%} {% block title %}CourseCounduit || A University In Your Pocket{% endblock title%} {% block content %} <h1>Your roadmap for</h1> <div id="Course-container"> {%for i in loopnum %} <div> <img src="{{ytthumbnail.i}}" alt="" sizes="100px" srcset="100px"> <h5>{{yttitle.i}}</h5> </div> {%endfor%} </div> {% endblock %} so the main result i was expecting is for the div "course container " to be duplicated to the amount of loopnum specified in views.py and for each iteration the img tag would display the ith url of the array …