Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
How to get the most liked users on a particular date in django
So I have a social media app, where users can like the posts of other users. Now I fetch the top 20 users who have received the most number of likes. Everything is perfect. But the problem is I cant figure out , how I can fetch the top users who have received the most likes on a particular date, for example get the top users who received most likes only today My LIKES MODEL class PostLike(models.Model): user_who_liked = models.ForeignKey(User, on_delete=models.CASCADE) post_liked = models.ForeignKey(Post, on_delete=models.CASCADE) liked_on = models.DateTimeField(default=timezone.now) SIMPLIFIED POST MODEL class Post(models.Model): id = models.AutoField(primary_key=True) user = models.ForeignKey(User, on_delete=models.CASCADE,related_name='author') caption = models.TextField() date = models.DateTimeField(default=timezone.now) likes = models.ManyToManyField( User, blank=True, through=PostLike) image = models.TextField() class Meta: ordering = ['-id'] SIMPLIFIED USER MODEL class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField(unique=True) user_name = models.CharField(max_length=100, unique=True) date = models.DateTimeField(default=timezone.now) profile_picture = models.TextField( default="https://www.kindpng.com/picc/m/24-248253_user-profile-default-image-png-clipart-png-download.png") bio = models.CharField(max_length=200, default="") objects = CustomManger() def __str__(self): return self.user_name ** My query to get the top users who received the most number of likes ** users = User.objects.annotate(num__smiles=Count('meme_publisher__smiles')).order_by('-num__smiles')[:20] # So everything is perfect and I am getting the users, now I dont know how to get the top users with most likes on a PARTICULAR DATE, for example … -
django admin: save image like base64
I'd like to upload image through django admin panel, but I need to save it as a base64 string in database How could I do it? + I would like to see image in admin DB may move someday and it will be better to save just base64 string, so I won't depend on some file structure (as if I'll store original images somewhere) ps. I have django 2.2.6 version -
How to define the sum of multiple columns values into one column in Django models.py
I have a django models.py as follows: from django.db import models class StudentList(models.Model): name=models.CharField(max_length=200) def __str__(self): return self.name class Marks_of_each_Student(models.Model): student_name=models.ForeignKey(StudentList,on_delete=models.CASCADE) s1=models.IntegerField() s2=models.IntegerField() s3=models.IntegerField() Total=models.IntegerField(default=0,editable=False) def calculate_total(self): return self.s1+self.s2+self.s3 def save(self): self.Total=self.calculate_total() I want to have a column names Total containing the value of s1+s2+s3 in it when entered via ORM commands through shell. I tried the following but it did not worked out. from main_page.models import StudentList,Marks_of_each_Student >>> x=StudentList(name="XYZ NAME") >>> x.save() >>> x1=Marks_of_each_Student(student_name=x,s1=90,s2=90,s3=90) >>> x1.save() >>> x1 <Marks_of_each_Student: Marks_of_each_Student object (1)> >>> x1.Total 0 All other columns are having the correct values but this Total is not giving correct results. How do I proceed to make sure that the changes are reflected in Total column and also I was not getting these data saved for Marks_of_each_Student in MySQL table. Can anyone help me?? -
how can send and receive and show it without refresh page in django?
i created a django chat app and now i want send and receive message and show it in same page without refreshing... my views function is: @login_required def message_form(request,id,slug,user_id): user2=request.user user_id=user_id user = get_object_or_404(User,id=user_id) msg = Message.objects.filter(sender=user) post = get_object_or_404(Post,id=id,slug=slug) post2 = Post.objects.filter(user=post.user) inbox = Message.objects.filter(reciever=request.user) sentbox = Message.objects.filter(sender = request.user) message1 = Message.objects.filter(post = post ,sender=user,reciever=post.user).order_by('date') message2 = Message.objects.filter(post = post ,sender=post.user,reciever=user).order_by('date') message3 = list(chain(message1, message2)) message3 = sorted(message3, key=operator.attrgetter('id')) form = MessageForm(request.POST or None,request.FILES or None ) if request.method == 'POST': if form.is_valid(): message = form.save(commit=False) if post.user == request.user: message.sender = post.user message.reciever = user else: message.sender = request.user message.reciever = post.user message.post = post message.post_user = post.user message.post_image = post.image1 message.save() form = MessageForm() return HttpResponse() context={ 'post':post, 'post2':post2, 'inbox':inbox, 'sentbox':sentbox, 'form':form, 'message1':message1, 'user_id':user_id, 'msg':msg, 'message2':message2, 'message3':message3, 'user2':user2, } return render(request,'user_chats.html',context) and this is my templates : {% for box3 in message3 %} <div class=" border bg-light my-3 p-3 msg_show " id="msg_show" style="border-radius:20px; " > <span class="p-2 my-5 msg" id="msg" >{{ box3.msg_content }}</span><br> <span class="date text-muted ">{{ box3.whenpublished }}</span> </div> {% endfor %} <form class="mt-2 " id="form_id" method="POST" action="" enctype="multipart/form-data"> {% csrf_token %} <div class="input-group mx-auto" > <div class="input-group-append"> <button class="btn updateButton'" type="submit" name="button"> send </button> … -
How to fix double click issue in large cell in IPython Notebook?
I use an interactive Python shell to interact with my Django application and one cell of the IPython Notebook has almost 400 lines. My problem is that the double click doesn't work well inside this specific cell so that I'm unable to double-click and select text quickly. Any idea how to fix this issue other than reducing the cell size ? This is how I start the server in a virtual env : python manage.py shell_plus --notebook -
how to create a removal button that depends on his parent and make a function remove() by jquery on it?
I need to search by whether it is one query or more. I'm not strong in Javascript or Jquery, however, the function does very well whether for (plus button) in one or more query and for (removal button) for one query only bt when it created if there are more than one search field sometimes be created and sometimes not created. I don't really know what is going on but all I notice that when I click on (plus button) which has the removal button it can create a new removal button and if I click the plus button in the parent that hasn't button removal the removal button doesn't create. there are my code and screenshot to see the error but please note that I do for-loop in HTML elements into form to retrieve the number of requests that exists in the query to create the same number of search fields therefore, I create the button that adds and remove that search except for the first field. correct search added for removal btn wrong search added for removal btn search.html <div class="search-field"> <h2 class="show"></h2> {% if query_length|length < 2 %} <form method="get" id="main_search"> <div class="form-group row search_repeated search_group"> <div … -
get Cross-Origin Request Blocked error in django for one special url
i used django and reactJs for my web application. all of urls are ok but just a url get Cross-origin blocked error. this is my urls.py: from . import views urlpatterns = [ path('',views.order_view,name="order"), path('create-ticket',views.create_ticket_view,name="create-ticket"), path('get-tickets-list/<int:id>',views.tickets_list_view,name='get-tickets-list'), path('change-state/order/<int:order_id>/state/<int:state_id>/', views.change_state_order_view, name='change-state'), path('create-common-answer/',views.create_common_answer_view,name='create-common-answer'), path('get-common-answer/',views.get_common_answer_view,name='get-common-answer'), path('get-states/',views.get_states_view,name='get-states'), ] and all of these are ok except one and that is : path('change-state/order/<int:order_id>/state/<int:state_id>/', views.change_state_order_view, name='change-state'), code view : @api_view(['PUT','DELETE','OPTIONS']) @permission_classes([IsAuthenticated,IsAdminPerm]) def change_state_order_view(request,order_id,state_id): try: order = Order.objects.get(id=order_id) except: return Response({'error':'404 Not found...!'},status=404) if request.method == "PUT": order.operator.add(request.user) elif request.method == "DELETE": order.operator.remove(request.user) order.state_ticket_id = state_id order.save() return Response({ 'message':'عملیات با موفقیت انجام شد.', 'result' : { 'order' : order.id, 'user_email' : request.user.email, 'name' : request.user.name, 'method' : request.method } }) and my reactJs code : const instance = axios.delete('http://MY_DOMAIN/api/orders/change-state/order/6273/state/1',{ headers: {'Authorization': 'token 079054fc245dc0894f896c31cd2ce2924e68cdb3'} }); console.log(instance); -
How not to delete default image when new one is uploaded?
I wrote code that deletes old user avatar when user uploads new one. And the problem is that, if user has default avatar and decides to change it, default image gets deleted. Here is my code: @receiver(pre_save, sender=Profile) def delete_file_on_change(sender, instance, **kwargs): if instance.pk: try: old_image = Profile.objects.get(pk=instance.pk).image except Profile.DoesNotExist: return new_image = instance.image if old_image and old_image.url != new_image.url: old_image.delete(save=False) I tried this: @receiver(pre_save, sender=Profile) def delete_file_on_change(sender, instance, **kwargs): if instance.image.url == '/media/default.jpg': ... But it didn't work because print(instance.image.url) for some reason, returns not /media/default.jpg but url of newly uploaded file. Also, here's my view: def update_user(request): if request.method == 'POST': if 'edit_profile' in request.POST: profile_form = UpdateProfileForm(request.POST or None, request.FILES, instance=request.user.profile) if profile_form.is_valid(): profile_form.save() return redirect('editprofile') profile_form = UpdateProfileForm(instance=request.user.profile) context = {'ps_form': password_form, 'u_form': user_info_form, 'pr_form': profile_form} return render(request, 'update_user.html', context=context) -
how to create an infrastructure of REACT, REACT NATIVE and DJANGO DRF on AWS
What would be the best way to create the infrastructure below on AWS: Please note that React and Django (DRF) are being dockerized, therefor there is a docker-compose.yml that has both the front end and back end) (PLEASE ADVISE IF I SHOULD DECOUPLE IT IN CASE THERE IS ANOTHER SOLUTION) FRONT END BACK END Front end React ----- > Backend Django (DRF) Mobile app React Native -
stuck on virtualenv / django
I am stuck on the issues with virtualenv/django My django had error in migrations and i messed up with few manipualtions: i updated django by pip i was adding PYTHONPATHs i removed and reinstalled env and my projects i removed all django manually from the Python38-32\lib\site-packages to reinstall etc. I thought i should reinstall virtualenv to start over again, but i can't The error when I am trying to uninstall or install virtualenv below. Any tips or solutions? -
Best backend framework for web and mobile applications?
My company is redesigning its backend. We are an ecommerce style business that also deals with providers. We need to track the delivery of products like Uber Eats does with food. We also have a complex inventory managing system where we need to know the location and stock available of certain products to guarantee speedy delivery. Additionally we need to be able to plan deliveries at certain dates in the future. All these things and other planned features and improvements make the functionality quite complex. We want to design our architecture as microservices, although we might start with components and REST API's for now and split them up into services in the future. We want to support a web application first but will develop a hybrid mobile app in the near future as well. I want our backend to: Be scalable Be able to split into microservices as we increase in complexity. Support web application. Support a Hybrid mobile app. What backend framework is best suited for these needs? -
Save user session after authentication in Django Channels
I'm trying to login a user with the help of Websockets & not the form POST method in views.py. asgi.py import os from django.core.asgi import get_asgi_application from channels.routing import ProtocolTypeRouter, URLRouter from channels.auth import AuthMiddlewareStack from app_name.routing import ws_urlpatterns os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_name.settings') application = ProtocolTypeRouter({ 'http': get_asgi_application(), 'websocket': AuthMiddlewareStack(URLRouter(ws_urlpatterns)), }) routing.py from django.urls import path from .consumers import WSConsumer, WSNewConsumer, WSDash ws_urlpatterns = [ path('ws/login/', WSConsumer.as_asgi()), path('ws/signup/', WSNewConsumer.as_asgi()), path('ws/dash/', WSDash.as_asgi()) ] consumers.py import json from channels.generic.websocket import WebsocketConsumer from django.contrib.auth.models import User from django.contrib.auth import authenticate from channels.auth import login class WSConsumer(WebsocketConsumer): def connect(self): if self.scope["user"].is_authenticated: print("User is already logged in!") else: self.accept() self.send(json.dumps({'message': 'Hello from SERVER!'})) def receive(self, text_data): try: a_json = json.loads(text_data) except json.decoder.JSONDecodeError: print("String could not be converted to JSON") user = authenticate(username=a_json['uname'], password=a_json['password']) if user is not None: login(self.scope, user) self.scope["session"].save() self.send(json.dumps({'logincode': 'Login Successful'})) else: self.send(json.dumps({'logincode': 'Login Unsuccessful'})) def disconnect(self, close_code): pass class WSNewConsumer(WebsocketConsumer): def connect(self): self.accept() self.send(json.dumps({'message': 'Hello from SERVER!'})) def receive(self, text_data): try: a_json = json.loads(text_data) except json.decoder.JSONDecodeError: print("String could not be converted to JSON") try: user = User.objects.create_user(a_json['uname'], a_json['emailid'], a_json['password']) user.save() self.send(json.dumps({'signupcode': '100'})) except: self.send(json.dumps({'signupcode': '300'})) def disconnect(self, close_code): pass class WSDash(WebsocketConsumer): def connect(self): self.accept() self.send(json.dumps({'message': 'Hello from SERVER!'})) def receive(self, text_data): try: a_json … -
Django annotate query with values from Many To Many Relationship
Following the example on Many To Many relationships for Django: https://docs.djangoproject.com/en/3.1/topics/db/examples/many_to_many/ I want to be able to display in the Django Admin a column on the Article listview which contains the title's of associated Publications. So if I have an article a1 which has publications: Publication(title='Pub 1') Publication(title='Pub 2') I want to see a column in the admin listview showing "Pub 1, Pub 2". I could do this with a custom function on the Admin class: class ArticleAdmin(admin.ModelAdmin): list_display = ['publication_titles'] def publication_titles(self, obj): return ', '.join([pub.title for pub in obj.publications.all()]) But that's an N+1 problem: each Article row will execute a query for each associated publication. I see this in the Django debug toolbar, where I see the number of SQL queries executed go from 9 queries to 33 when rendering 24 articles in the listview. I thought maybe I could do prefetch_related in the queryset: class ArticleAdmin(admin.ModelAdmin): list_display = ['publication_titles'] def get_queryset(self, request): queryset = super().get_queryset(request) queryset.prefetch_related('publications') return queryset def publication_titles(self, obj): return ', '.join([pub.title for pub in obj.publications.all()]) But that seems to have no effect on the number of SQL queries executed. I thought I could use annotate() to annotate the queryset used in the admin, but … -
Django React Web App hosted on Digitalocean loading issue Only Home page show's
I have hosted django react blogging web app, only two pages web app, it works fine locally, but when I host it online, the home page load, but when I go to another page, then page become blank, nothing show's, on reload show just a blink of the page, then show off again. this is the link page to my app http://157.230.15.153/ -
Searching a keyword with number of occurence in django
I want o search for a keyword from the descriptions field with an exact number of occurrences in Django. suppose I am searching the keyword 'Balam' with the number of occurrence '5 times'. what will be the query? if the searching keyword 'Balam' query is : filter(descriptions__icontains='Balam') what will be the query for searching 'Balam' with the exact occurence '5 times'? -
Object accessed through queryset doesn't have the attributes in Django
I have the following three models. Every Record can have many Users and each Record has a Resource. Granted I could be doing something grossly wrong here, but I still can't find the error. class Resource(models.Model): identifier = models.UUIDField(default=uuid.uuid4, unique=True) date_added = models.DateTimeField(default=now) def __repr__(self): return f'Resource: {self.identifier}, Time added: {self.date_added}' class URLResource(Resource): url = models.URLField() def __repr__(self): return f'{self.identifier} URL: {self.url}' class Record(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=SET_NULL, null=True) resource = models.OneToOneField(Resource, on_delete=CASCADE) def __repr__(self): return f'Record {{ User: {self.user}, Resource: {self.resource} }}' Here's the behavior that I get in my django shell >>> user = ... # a valid user In [89]: {each for each in Record.objects.filter(user=user)} Out[89]: {Record { User: dave, Resource: Resource object (9) }, Record { User: dave, Resource: Resource object (11) }, Record { User: dave, Resource: Resource object (12) }} In [90]: {each.resource for each in Record.objects.filter(user=user)} Out[90]: {Resource: 044565d1-9ddd-46a0-ae66-829253b45dd9, Time added: 2021-03-28 17:28:25.252009+00:00, Resource: 0ef18b7d-32f6-48c8-9c61-99f02ba6b6a9, Time added: 2021-03-28 19:08:06.178725+00:00, Resource: b4bb69ba-6f41-4c25-8999-d381d923890e, Time added: 2021-03-28 11:45:21.232911+00:00} Something that doesn't work (but should work) # I get an error!!! In [91]: {each.resource.url for each in Record.objects.filter(user=user)} --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-91-1a5c17d5d743> in <module> ----> 1 {each.resource.url for each in Record.objects.filter(user=user)} <ipython-input-91-1a5c17d5d743> in … -
Djanog Posting data in primary model and connected models in one to many relationship over rest API
I have made a simple model in Django / oAuth / Rest Framework with following three models: MODELS class Pet(models.Model): def nextVaccination(self): NEXT_VAC = 2160 #time in hours expirationTime = self.creationTimestamp + timedelta(hours= NEXT_VAC) return expirationTime petID = models.AutoField(primary_key=True) vaccine = models.ManyToManyField('Vaccine') creationTimestamp = models.DateTimeField(default=timezone.now) nextVacTimestamp = models.DateTimeField(blank=True) def save(self, *args, **kwargs): if not self.nextVacTimestamp: self.nextVacTimestamp = self.nextVaccination() super(Pet, self).save(*args, **kwargs) class Vaccine(models.Model): VACLIST = [('P','parvovirus'),('D','distemper'),('C','hepatitis')] vaccineName = models.CharField(max_length=2, choices=VACLIST, blank=False) class Visits(models.Model): def getUser(request): current_user = request.user return current_user.username check_one = models.BooleanField(null=True) check_two = models.BooleanField(null=True) check_three = models.BooleanField(null=True) notes = models.TextField(blank=True) username = models.CharField(max_length=100, blank=True) def save(self, *args, **kwargs): if not self.username: self.username = self.getUser() super(Visits, self).save(*args, **kwargs) SERIALIZERS class VaccineSerializer(serializers.ModelSerializer): class Meta: model = Vaccine fields = ['vaccineName'] class VisitsSerializer(serializers.ModelSerializer): class Meta: model = Visits fields = ['check_one', 'check_two', 'check_three', 'username', 'notes'] class PetSerializer(serializers.ModelSerializer): visits= VisitsSerializer(source='visits_set', many=True) class Meta: model = Pet fields = ['petID', 'vaccine', 'creationTimestamp', 'nextVacTimestamp', 'visits'] VIEW class PetAPIView(APIView): def get(self, request): pets= Pet.objects.all() serializer = PetSerializer(pets, many=True) return Response({ 'data': serializer.data }) def post(self, request, *args, **kwargs): serializer = PetSerializer(data= request.data) if serializer.is_valid(): serializer.save() return Response({ 'message': 'Message data posted successfully!', 'data': serializer.data }) class VaccineAPIView(APIView): def get(self, request): # pets= Pet.objects.all() vaccine= Vaccine.objects.all() … -
How to return related objects a queryset's values_list instead of just the PKs
Is there a way to neatly return a queryset's values_list of related objects from many objects' related managers at the same time without having to write a loop ? In other words this query: Hospital.objects.first().treatments.all().values_list('treatment_appointments', flat=True) will return me a list of PKs that will look something like this: <QuerySet [1, 32, 35, 21, 30, 28, 29, 13, 56, 58, 59, 60, 61, 66, 67, 87]> Is it possible to write such query that will return the actual objects instead of those PKs or else is it possible to convert simultaneously all those PKs into objects without for using a for loop?? -
How to serialize mutiple querysets in django rest framework?
I have two models that area related to each other. One represents a project and the other one represents the field/area that the project bnelongs to. I have a view that looks like this: class ProjetosArea(generics.ListAPIView): lookup_field = 'id' serializer_class = ProjetosPreviaSerializer pagination_class = ProjectPagination def get_queryset(self): area_id = self.kwargs['id'] area = AreaConhecimento.objects.get(id=area_id) projetos = Projeto.objects.filter(area_conhecimento=area_id) queryset = [area, projetos] return queryset I want to write a serializer for this view that looks like this: { "area": {---fields of the area---}, "projects": [---The projects that belongs to that area---] } How would write a serializer for this? The queryset is a list with the area and the projects belonging to that area -
Django UpdateView doesn't allow empty field
I have django 3 UpdateView class that is supposed to update Employee model. Employee has null=True field, however when I try to save model with this field empty, I got an error that this field should be filled before saving. How can I make UpdateView save null=True fields empty? Here is UpdateView: class EmployeeUpdate(LoginRequiredMixin, UpdateView): model = Employee success_url = "/" form_class = EmployeeUpdateForm template_name = "employee_update_form.html" login_url = "/login" Here is EmployeeUpdateForm: class EmployeeUpdateForm(forms.ModelForm): class Meta: model = Employee fields = ( "first_name", "last_name", "email", "phone", "salary", "role", ) Here is Employee: class Employee(models.Model): ATENDEE = "atendee" VIEWER = "viewer" ROLE_CHOICES = [ (ATENDEE, "Atendee"), (VIEWER, "Viewer"), ] first_name = models.CharField(("FIRST NAME"), max_length=200, null=False) last_name = models.CharField(("LAST NAME"), max_length=200, null=False) email = models.EmailField(null=False) phone = models.CharField(max_length=20, null=True) salary = models.FloatField(default=0, null=False, validators=[validate_salary]) role = models.CharField(("ROLE"), choices=ROLE_CHOICES, default=VIEWER, max_length=12) Basically, I can't save empty phone field via template. -
The way....what is the shortest way to the correct information
how do programers get access to the correct information without having to ask, like what is the way, Let me give an example, in order to use postgres in Django application, You will have to install something called psycopg2, but in Django-postgres documentation https://docs.djangoproject.com/en/3.1/ref/contrib/postgres/ Theres no such thing as "getting started", theres no mention of psycopg2 at all, u will just have to spend a lot time to google it or watch a video, and if google doesn't have the answer or you just didn't search it correctly, you are stuck, And this is only an example, i have encountered many of these situations, and it's so frustrating, I mean i didn't write postgres and i didn't write django either, i don't know how it works unless someone told me, it doesn't feel like im in control, it's not like a math problem or algorithm where you just have to solve it on your own, but you are in control, The problem is some basic information is just too hard to find in the documentation, the way i do it doesn't seem right, Is everyone else doing it like this? or is there a "smart way" to find it? or … -
Cookies do not work after browser close on mobile
I have Vue frontend app and Django Rest Framework backend on the same domain. The app is working fine and this is the only problem. I use Session Cookie for authentication and CSRF Cookie with HTTPOnly = False from which i read a csrftoken value and add it to the X-CSRFToken header in requests to my API. On mobile devices, after closing browser without closing app window, after opening browser in persisted window cookies do not work (which is ok because i know that they should be deleted when browser is closed) , but after making get requests to the api they are not set. -
AttributeError - 'dict' object has no attribute 'split'
Using django-redis I came across the AttributeError when trying to get the cache. My full traceback can be seen here, the part which shows there're problems with django-redis is here: File "/usr/local/lib/python3.9/site-packages/django_redis/cache.py", line 87, in get value = self._get(key, default, version, client) File "/usr/local/lib/python3.9/site-packages/django_redis/cache.py", line 27, in _decorator return method(self, *args, **kwargs) File "/usr/local/lib/python3.9/site-packages/django_redis/cache.py", line 94, in _get return self.client.get(key, default=default, version=version, client=client) File "/usr/local/lib/python3.9/site-packages/django_redis/cache.py", line 71, in client self._client = self._client_cls(self._server, self._params, self) File "/usr/local/lib/python3.9/site-packages/django_redis/client/default.py", line 41, in __init__ self._server = self._server.split(",") Exception Type: AttributeError at / Exception Value: 'dict' object has no attribute 'split' My project's config file's part which uses caching is: from environs import Env # environment variables setup env = Env() env.read_env() INSTALLED_APPS = [ ... 'debug_toolbar', 'compressor', ... ] STATICFILES_FINDERS = [ 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder', ] CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": env.dj_cache_url("CACHE_URL", default="redis://redis:6379/1"), "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } } # django-debug-toolbar import socket hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) INTERNAL_IPS = [ip[:-1] + "1" for ip in ips] # celery CELERY_BROKER_URL = env.dj_cache_url("CACHE_URL", default="redis://redis:6379/1") CELERY_ACCEPT_CONTENT = ['json'] CELERY_TASK_SERIALIZER = 'json' I build my project in Docker, so use an according URL for containerization purposes. In addition, I didn't have AttributeError until … -
asyns requests to api in django view
I have a django application and I need to return a value from one api in one view. For example: a person will enter the page, a request will be made to the api and return a value, I wonder should I make requests asynchronously? if a lot of people visit this page, here's my code: import aiohttp import asynsio asyns def get_rate(): url = 'https://api.ratesapi.io/api/latest?base=USD&symbols=GBP' async with session.get(url) as response: json_response = await response.json() return json_response def test_view(request): usd = asyncio.run(get_rate())['ratest]["USD] return render(request, '???.html', {'usd':usd}) it is correct? or no -
Failing when running celery from docker
I'm trying to get celery to work with Django and docker and the building works well but I celery won't run. Any ideas? Here is are the docker-compose logs -f errors Starting django-celery_redis_1 ... done Starting django-celery_db_1 ... done Starting django-celery_flower_1 ... done Starting django-celery_celery_beat_1 ... done Starting django-celery_celery_worker_1 ... done Starting django-celery_web_1 ... done Attaching to django-celery_db_1, django-celery_redis_1, django-celery_celery_worker_1, django-celery_flower_1, django-celery_celery_beat_1, django-celery_web_1 celery_beat_1 | standard_init_linux.go:219: exec user process caused: exec format error db_1 | 2021-03-28 18:18:15.611 UTC [1] LOG: starting PostgreSQL 12.0 on x86_64-pc-linux-musl, compiled by gcc (Alpine 8.3.0) 8.3.0, 64-bit db_1 | 2021-03-28 18:18:15.613 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 db_1 | 2021-03-28 18:18:15.616 UTC [1] LOG: listening on IPv6 address "::", port 5432 celery_worker_1 | standard_init_linux.go:219: exec user process caused: exec format error db_1 | 2021-03-28 18:18:15.648 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" redis_1 | 1:C 28 Mar 2021 18:18:15.425 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis_1 | 1:C 28 Mar 2021 18:18:15.425 # Redis version=5.0.12, bits=64, commit=00000000, modified=0, pid=1, just started redis_1 | 1:C 28 Mar 2021 18:18:15.425 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf redis_1 | …