Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django CreateView not redirecting to success url
I'm implementing the following CreateView, which is supposed to redirect to a product list after a product has been added to my application. When the form is submitted, the product is successfully added, but the user is not redirected. Instead, the same product form is loaded. class ProductCreate(CreateView): model = Product fields = '__all__' template_name = 'catalog/product/add_product.html' def form_valid(self, form): form.instance.category = get_object_or_404(Category, form.instance.category) return super(ProductCreate, self).form_valid(form) def get_success_url(self): return reverse_lazy('product_detail', kwargs={'id': self.object.pk, 'slug': self.object.slug}) def get_context_data(self, **kwargs): context = super(ProductCreate, self).get_context_data(**kwargs) context['customers'] = Customer.objects.filter(company=self.request.user.profile.company) context['categories'] = Category.objects.filter(company=self.request.user.profile.company) return context Again, the data is successfully stored into the database, but the redirection is not working at all after the form is saved. Anyone can help me? -
Creating django groups
I have a webapp and all of my users are divided into 2 groups: Teachers and Students. How can I create groups and assign users to groups in order to identify which group a user belongs to in Django? Additionally, can I create views that only certain groups can access? -
Django rest framework and PostgreSQL best practice
I am using Django and PostgreSQL (psycopg2) for one of our web REST API projects. Basically, the app is driven by the django-rest-framework library for all REST API-centric tasks such as authentication, permission, serialization and API views. However, since our database tables are not created thru Django's migration system (rather created manually and directly thru DBeaver), our modeling and serialization can actually be considered as highly customized and is no longer following Django's ORM standard (although we try to write our custom ORM design to feel as close as Django's as possible so that the pattern will still feel familiar). The way I communicate CRUD actions to and from the database is by creating one (1) custom manager class mapped to each custom model class that it's supposed to manage. So in my manager I have like get(), insert(), update(), delete(), force_delete() methods which contain logic for actually sending queries to the database. For all methods responsible for fetching data i.e. get() all() filter(), they communicate through a database view instead of directly sending a query to the concerned table that may contain JOINs which may be too expensive for the DB server. This design works fine for us, but … -
How to communicate with Content Based filtering python code in Django web application or using javascript
I am a beginner and created a Food Ordering Web Application as my first Django Project now i have made a content based filtering program in jupyter notebook that uses cosine similarity to recommend user the food item. So i would like to deploy this program into my web application such that when the user orders "item X with id 1" using the html button in the front end it should communicate with my python program and pass id in recommend function and return the output to the front end.How should i approach this and what do i need to do the same? -
i need to understand how to code app like Balagram that exchanges instagram likes and comments
This is the app https://bala-gram.com/. I need to know the functionality of the app that i can code the backend working it use to be doing. I wonna code in Python and need guidance related to it. I wonna code a clone of above mentioned app. -
Paragraph under label in Crispy Forms, Django
How to render under every label in crispy form a paragraph eg. "optional field" My code: <div class="card-body formset-body"> {% for form in formset %} {% crispy form %} {% endfor %} </div> I tried to loop through every field but it doesnt work how i want, beacuse it doesnt keep the style, and paragraph "optional field" render under input not label as i wish. {% for field in form %} {{ field|as_crispy_field }} <p> optional field </p> {% endfor %} -
Make custom filtering, combining two fields
I have a django rest framework model with the following definition class Test(models.Model): id = models.IntegerField(primary_key=True, unique=True) username = models.CharField(max_length=256) I want a to generate a custom lookup method that will receive id OR username and return the same results. for example if i call the api like api/Test/?custom_lookup_method=12345 OR api/Test/?custom_lookup_method=john_smith to return the same filter results. Is that possible ? -
Is possible have an allert box like javascript alert() on Django when you're detateing a post?
I'm working on a Django site and I would create a simpler way to delate a post better than going in a new HTML page every time. There is a way to have an alert box like JavaScript alert("text") and you can click Ok to delate or the x to maintain the post and a way to not change the page? The code is: Urls.py code... path('dashboard/delate/<slug:slug>', PostDeleteView.as_view(), name="delatepost"), Views.py code... class PostDeleteView(DeleteView): model = Post template_name = "admin/deletepost.html" success_url = reverse_lazy("listpost") html code... {% extends "admin/layout.html" %} {% block title %} <title>Add Post</title> {% endblock title %} {% block content %} <form enctype="multipart/form-data" method="POST"> <center> <div class="addpost"> {% csrf_token %} <h1>delete {{ post.title }}?</h1> <button>Remove</button> </div> </center> </form> {% endblock content %} (Right now there are not auth things because in on testing on my computer) -
Django distinct with order by different column
I have such model class Product(models.Model): created_at = models.DateTimeField(default=timezone.now) cell = models.CharField(max_length=100, null=True) Now I need a queryset that must be ordered by creation date and unique cell, something like Product.object.order_by('created_at').distinct('cell') but I got an sql error. How should queryset be changed to get required result? -
can someone explain the following
can someone please explain why is {% for item in items %} and {{item.product.id}} written in the following code, I'm trying to put an add to cart functionality to my store: cart.html: {% load static %} {% block content %} <div class="row"> <div class="col-lg-12"> <div class="box-element"> <a class="btn btn-outline-dark" href="{% url 'store' %}">&#x2190; Continue Shopping</a> <br> <br> <table class="table"> <tr> <th><h5>Items: <strong>{{order.get_cart_items}}</strong></h5></th> <th><h5>Total:<strong> ${{order.get_cart_total|floatformat:2}}</strong></h5></th> <th> <a style="float:right; margin:5px;" class="btn btn-success" href="{% url 'checkout' %}">Checkout</a> </th> </tr> </table> </div> <br> <div class="box-element"> <div class="cart-row"> <div style="flex:2"></div> <div style="flex:2"><strong>Item</strong></div> <div style="flex:1"><strong>Price</strong></div> <div style="flex:1"><strong>Quantity</strong></div> <div style="flex:1"><strong>Total</strong></div> </div> {% for item in items %} <div class="cart-row"> <div style="flex:2"><img class="row-image" src="{{item.product.imageURL}}"></div> <div style="flex:2"><p>{{item.product.name}}</p></div> <div style="flex:1"><p>${{item.product.price|floatformat:2}}</p></div> <div style="flex:1"> <p class="quantity">{{item.quantity}}</p> <div class="quantity"> <img data-product="{{item.product.id}}" data-action="add" class="chg-quantity update-cart" src="{% static 'images/arrow-up.png' %}"> <img data-product="{{item.product.id}}" data-action="remove" class="chg-quantity update-cart" src="{% static 'images/arrow-down.png' %}"> </div> </div> <div style="flex:1"><p>${{item.get_total|floatformat:2}}</p></div> </div> {% endfor %} </div> </div> </div> {% endblock content %} and here is the template of my main store page: store.html: {% load static %} {% block content %} <div class="row"> {% for product in products %} <div class="col-lg-4"> <img class="thumbnail" src="{{product.imageURL}}"> <div class="box-element product"> <h6><strong>{{product.name}}</strong></h6> <hr> <button data-product="{{product.id}}" data-action="add" class="btn btn-outline-secondary add-btn update-cart">Add to Cart</button> <a class="btn btn-outline-success" href="#">View</a> <h4 … -
How to put a django form ImageField to model ImageField
I´m trying to build a frontend where users can upload images (and some other data) via django form ImageField, and that should be saved in a separate admin model to review the upload. I handle the form in the views.py and create the review Model. It works fine so far, except of the images. The ImageFields of the review model stay empty in admin backend, and the uploaded images are also not stored in the defined upload folder. What am i doing wrong? -
How to Deploy a Django React App on Linux server up at hostus.us
I'm given a Task to deploy a web app with Django as back-end and react as front-end . I have my files on git-lab and a paid server up on Hostus.us . On googling i have found out that i have to use putty and connect with that server using ssh . But i don't have any idea how what to do after that and how can this be accomplished . Can anyone please help me with how should i do this? I'm doing it just the very first time. -
Show button only if word count is greater than 200 in django
I am trying to display a button only when the word count is greater than 200 For example: if a user writes a blog of more than 200 characters the button shows up that leads to the complete post. And if its less than 200 the button should not be there I am slicing my code with <p class="article-content">{{ post.content|slice:":200" }}</p> <a class="btn btn-primary" href="{% url 'post-detail' post.id%}">Read More &rarr;</a> But in the above code the button is being displayed even with blogs of less than 200 words -
Unable to located Package Daphne
I'm deploying a django app including django channels using nginx, gunicorn and daphne. But when i install daphne with sudo apt install daphne, it gives E: unable to locate package daphne. What Should I do? -
How to use matplot lib in Django with multiple users
I'm using matplotlib to generate the figures and graphs in my Django application. It has been working well in generating multiple graphs when I was testing it with only one user logged in. However, I have been encountering issues when I am generating graphs when there are more than 1 user using the app. Currently I have 4 figures that are graphed per user, I am clearing the plot using plt.close(fig) when I will go to the second graph to avoid overlapping. It throws an error Given element not contained in the stack when I am about to graph the next figure. Here is a sample snippet of the code (Note that I cut some unnecessary parts): fig = plt.gcf() #---do something to save figure--- plt.close(fig) plt.plot(x, y, 'ro', label='graph') I am guessing the Django clears the plot for both users and the moment another user is accessing the graph it is gone from the memory. Is there a way to reference plt exclusively so it only clears the plot specific to that user and not all plots? I am currently trying if I can use Django sessions to solve the problem. -
Image not rendering in django template
I have an aws account where I upload all my images but when I go to try to render each image by doing die.image.url nothing happens. My code currently looks like this. {% if dice %} <div class="dice-container"> {% for die in dice %} <div class="die-container"> <img src="{{ die.image.url }}" alt="{{ die.name }}" width="100%" /> <h6>{{ die.name }}</h6> </div> {% endfor %} </div> {% endif %} my Die model has a field image. The name of each die comes out but the image not. How do I render the image? -
Creating an array field in the Django Database Model
Hey guys I'm creating a primitive social media app and I'm trying to create an array in my table that has a list of usernames that the user will be following so that their feed shows only posts from users that they are following. How can I do this? Right now I only have integers and strings but what if I need an array or a data type that can store multiple values? Here is my code. I want "follows" to be the array (or multiple value) field. class User(AbstractUser): pass follows = models.CharField(max_length=64, default=0) followers = models.IntegerField(default=0) -
Django, 'ListPostion' object has no attribute 'perms_map'
Reference post: Django Rest Framework use DjangoModelPermissions on ListAPIView I am trying to refer to this post. However, the'ListPostion' object does not have a'perms_map' property. I get an error. I tried a search without knowing the cause, but it did not come out. If anyone knows the answer, please help Below is the code I wrote. view.py from rest_framework import viewsets, permissions, generics from .serializers import PositonListSerializer from .models import PositionList import copy class ListPostion(generics.ListCreateAPIView): permission_classes = [permissions.DjangoObjectPermissions, ] queryset = PositionList.objects.all().filter(del_yn='no').order_by('-key') serializer_class = PostionListSerializer def __init__(self): self.perms_map = copy.deepcopy(self.perms_map) self.perms_map['GET'] = ['%(app_label)s.view_%(model_name)s'] -
Django 3: Multiple forms in one view
What I'm trying to do is creating an employee where we need to complete the employee profile with Private, Address and Contact form. I have tried 2 things. The first option was creating in de models.py from the app, 3 models: Model for Private class Private(models.Model): GENDER = ( ("Man", "Man"), ("Woman", "Woman"), ) gender = models.CharField("Gender", max_length=15, blank=True, choices=GENDER) initial = models.CharField("Initial", max_length = 15, null=True, blank=True) first_name = models.CharField("First name", max_length=30, blank=True) insertion = models.CharField("Insertion", max_length = 15, null=True, blank=True) last_name = models.CharField("Last name", max_length=30, blank=True, null=True) The second model for Address: class Address(models.Model): street_name = models.CharField("Street name", max_length=80, null=True, blank=True) house_number = models.CharField("House number", max_length=6, null=True, blank=True) Model for Contact class Contact(models.Model): Phone = models.CharField("Phone", max_length=14, null=True, blank=True) email = models.CharField("E-mail", max_length=80, null=True, blank=True) In forms.py from the app I also created 3 forms for each model above. In the Meta class the variable model is linking to each Model. In views.py we have this: def createEmployeePersonal(request): employeeprivate = Private() employeeaddress = Address() employeecontact = Contact() if request.method == "POST": employeeprivate = Private(request.POST) employeeaddress = Address(request.POST) employeecontact = Contact(request.POST, request.FILES) if employeeprivate.is_valid() and employeecontact.is_valid() and employeecontact.is_valid(): employeeprivate.save() employeeaddress.save() employeecontact.save() return redirect("/employees") context = { "employeeprivate": employeeprivate, "employeeaddress": … -
How to map form input to django user model?
I'm a newbie at Django. How could I connect my form to my user model? Essentially, if a user registers for the first time, I want them to go to the form input template but if they're already registered, I want them to go to another page. How may I go about doing this? -
Django URL and Template with inbuilt authentication
I am a Django Beginner, I started by reading WS Vincent..The book created a customUser model in a separate App name USERS. Also, AUTH_USER_MODEL = 'users.CustomUser' has been set up. I have below question related to URLS and Templates . Any help will be appreciated I have been reading that the Default Django login path will go to /accounts/login. However , when I used {% url login %} in template base.html it routed to users/login. That would be coz fo Auth_user_model, but I want to be sure how the above tag would fit in below URL's because there is still no accounts/login URL. If it is getting that from auth.urls package then it only has everything starting with /accounts not /user. I did a packet capture thinking it might be translating to account/login but destination was still users/login. .I hope I was able to explain my query. Please help. urlpatterns = [ path('admin/', admin.site.urls), path('users/', include('users.urls')), # new path('users/', include('django.contrib.auth.urls')),# new path('', TemplateView.as_view(template_name='home.html'),name='home'), # new ] -
Set value in django filter filterset_fields
Hi I'm doing a filter search. In my view, I have implemented filtering, I need to check the permission, and if it is equal to is_partner then filtering by partnerId__user__id should be = user_id, else is my entered value. How can I implement this? I can't figure out how to access the filter and set its value. my code models class Partner(models.Model): user = models.OneToOneField(AbstractUser, on_delete=models.CASCADE, primary_key=True, related_name='user') objects = BaseManager() class Meta: db_table = "userPartner" permissions = ( ("is_partner", "Partner user"), ) class Event(models.Model): title = models.CharField( _('title'), max_length=255, ) description = models.TextField( _('description'), ) enabled = models.BooleanField( _('enabled or disabled') ) partnerId = models.ForeignKey(Partner, on_delete=models.CASCADE, default=0) view class SerarchParnterEvents(generics.ListAPIView): queryset = Event.objects.filter(enabled=True) permission_classes = [ProjectPermission.IsPartner | ProjectPermission.IsAdmin] serializer_class = EventSerializer filter_backends = [filters.SearchFilter, DjangoFilterBackend] search_fields = ['title', 'description'] filterset_fields = ['partnerId__user__id'] def check_permissions(self, request): if request.user.has_perm('User.is_partner'): ??????? serializer class EventSerializer(serializers.ModelSerializer): class Meta: model = Event fields = ('id', 'title', 'description', 'enabled', 'partnerId' ) extra_kwargs = {"partnerId": {'read_only': True}, } -
TypeError: HomeConsumer() takes no arguments
I am working on channels using django, and i am having 2 different consumers for 2 differrent web pages , but while executing the web page i am getting type error for consumer This is consumer.py file from channels.consumer import AsyncConsumer import asyncio class ChatConsumer(AsyncConsumer): async def websocket_connect(self,event): await self.send( { 'type':'websocket.accept', } ) print("connected",event) async def websocket_receive(self,event): print("received",event) async def websocket_disconnect(self,event): print("disconnected",event) class HomeConsumer(AsyncConsumer): async def websocket_connect(self,event): await self.send( { 'type':'websocket.accept', } ) print("connected",event) async def websocket_receive(self,event): print("received",event) async def websocket_disconnect(self,event): print("disconnected",event) This is my routing.py file import os from channels.routing import ProtocolTypeRouter,URLRouter from channels.auth import AuthMiddlewareStack from channels.security.websocket import AllowedHostsOriginValidator from django.core.asgi import get_asgi_application from django.urls import re_path from .consumer import ChatConsumer,HomeConsumer from django.conf.urls import url os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') application = ProtocolTypeRouter({ 'websocket': AllowedHostsOriginValidator( AuthMiddlewareStack( URLRouter( [ url(r"^profile/(?P<username>[\w.@+-]+)",ChatConsumer), url("profile",HomeConsumer) ] ) ) ) }) THis is my websocket javascript: var loc = window.location console.log(loc) var endpoint = "ws://" + loc.host + loc.pathname var socket = new WebSocket(endpoint) socket.onmessage = function(e) { console.log("message", e) } socket.onopen = function(e) { console.log("open", e) } socket.onclose = function(e) { console.log("close", e) } socket.onerror = function(e) { console.log("error", e) } This is my urls.py file: from django.contrib import admin from django.urls import path,include from … -
use manytomany field in both the models Django
I have two models named Profile and Controversy. My requirement is many people can be involved in a controversy and a single person can have multiple Controversies. With that said, I feel like I should a ManyToMany field in both the models but I'm guessing that violates ManyToMany fields documentation as it should be used in only model. my models are as follows : class Profile(models.model): name = models.CharField(max_length=200) Controversy = models.ManyToManyField(Controversy) # As one person can have multiple controveries class Controversy(models.Model): year = models.Datefield() other_people_involved = models.ManytoManyField(profile) # As multiple people can be involved in a controversy description = models.TextField() This obviously will throw error. I'm not able to understand as to how to tackle such a scenario -
Django - 'QuerySet' object has no attribute 'get_upvotes_count'
I am a beginner at Django and I am trying to build an app to manage games. It is possible for registered visitors to rate the game. Furthermore you can comment the game and this comment can be rated as well. But only once. The difficult thing for me is the independent evaluation of comments and articles. Furthermore, the "Queryset" error message occurs when I create a game. I already tried to initialize the attribute "comment" in the views with "None". Did not work. How do I get the app running ? Here is my views.py: from django.http import HttpResponseRedirect from django.shortcuts import render, get_object_or_404 # Create your views here. from django.shortcuts import redirect, render from django.urls import reverse_lazy from django.views.generic import CreateView, DetailView, ListView from .forms import GameForm, CommentForm from .models import Game, Comment class GameListView(ListView): model = Game context_object_name = 'all_the_games' template_name = 'games-list.html' class GameDetailView(DetailView): model = Game context_object_name = 'that_one_game' template_name = 'game-detail.html' class GameCreateView(CreateView): model = Game form_class = GameForm template_name = 'game-create.html' success_url = reverse_lazy('game-list') def form_valid(self, form): form.instance.user = self.request.user return super().form_valid(form) def game_list(request): context = {'all_the_games': Game.objects.all()} return render(request, 'game-list.html', context) def game_detail(request, **kwargs): game_id = kwargs['pk'] game = Game.objects.get(id=game_id) comment = …