Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
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 = … -
How to view items in database selected by user in a django app?
I have a model orders that stores users orders at a restaurant. I want to create a view that allows me to show every item available in the database on the home page in a grid. Then when a user clicks on any of the items it should take them to a new page with more info on the item. How would I set logic for the view, to know what item the user clicked? -
AttributeError: module 'enum' has no attribute 'IntFlag' from Azure
I have a Django project running on Azure, and I encountered this issue with the enum module and I have tried everything from here(Why Python 3.6.1 throws AttributeError: module 'enum' has no attribute 'IntFlag'?) The problem is that I don't have the issue locally, I only see the issue on Azure. Therefore, I cannot just uninstall it locally. I have tried to uninstall it in the Azure terminal, but it showed that the module was not found. I have also tried to install aenum instead of enum by adding it to requirements.txt, still didn't work. Can someone please advise me on how to fix this issue? Here is a screenshot of the error Here is the link to the source code -
Django: Many To Many Field allow fields to be added if it is in another field
I'm experimenting with Django and I'm trying to figure out Many to Many Relationships. Let's say I have certain model named "Facility", similarly I created another model named "Hotels" which contains fields 'facility' and 'featured_facility' both are in Many To Many relationship with "Facility". I want to add featured_facility only if it is available in 'facility' fields how can I do that? Here is my models code class Facility(models.Model): name = models.CharField( max_length=100, validators=[validate_facility_name], unique=True, ) description = models.CharField(max_length=100, validators=[validate_facility_description]) can_be_featured = models.BooleanField(default=False) similarly Hotel model is class Hotels(models.Model): hotel_name = models.CharField( max_length=20, unique=True, validators=[validate_hotel_name] facility = models.ManyToManyField( Facility, related_name='hotel_facility', blank=True, ) featured_facility = models.ManyToManyField( Facility, related_name='featured_hotel_facility', blank=True, ) class Meta: default_permissions = () verbose_name = 'Hotel' verbose_name_plural = 'Hotels' def __str__(self): return self.hotel_name Now I want to add 'featured_facility' only if it is available in 'facility' no new featured facility from Facility can be added in 'featured_facility' how can I do that? -
Django Error: ImproperlyConfigured / define the environment variable / call settings.configure()
I have the following model: class my_model(models.Model): item_id = models.IntegerField(max_length=100) item_array = ArrayField(models.FloatField()) When I try: df = pd.read_pickle('df.pkl') db = my_model() for item in df.columns: db.item_id = item db.item_array = df[item] db.save() I get the following error: ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. What could I do to fix this? -
Creating an array field in a Django Model
Hey guys I'm creating a basic social media app and I'm trying to create an array field that can hold a list of followers that a user is following and is later used to print out the posts of all the users followers. How do I create an array or list with Django that will allow me to save multiple fields for multiple follows? Right now, I have it as an Integer field. Thanks! class User(AbstractUser): pass follows = models.CharField(max_length=64, default=0) followers = models.IntegerField(max_length=64, default=0) -
Git merge conflict in django project
I am working on a django project. I have two branches, master and alpha. I am trying to merge the two branches. My alpha branch is the finished product. The two branches are dramatically different. I keep getting a merge conflict. I deleted the database in the master. I want the database in the alpha to be the main one. can anyone help me. How do I successfully merge them. -
request.POST parameters are missing
Hello I am trying to pass some values from my signup form to a django view but for some reason the values are missing. My view.py : @csrf_exempt def signup(request): if request.method =='POST': for key, value in request.POST.lists(): print(" DEBUG %s %s" % (key, value)) print(request.POST['name'],email=request.POST['email']) return render(request, 'front_app/login.html') My register.html : <form class="form" method="post" action="{% url 'signup' %}" name="submitForm"> {% csrf_token %} <input type="text" class="name" placeholder="Name" id="name" required> <input type="email" class="email" placeholder="Email" id="email" required> <div> <input type="password" class="password" placeholder="Password (8 characters minimum)" id="password" minlength="8" required> </div> <input type="submit" class="submit" value="Register" > </form> and my urls.py : urlpatterns = [ # other not related urls path('signup', views.signup, name='signup'), ] My problem is that when the views.signup function is running it is missing all three values that I am trying to send : name, email and password. It is a POST request (and not GET) but the only values in the QueryDict are the "encoding" and "csrfmiddlewaretoken" values. Any help is appreciated! -
Django user password hash, oracle db, and java
im developing and ecommerce site on django for a Sushi Restaurant, and i have to create a CRUD for users in java and edit info from the database in oracle, the database are generated with django, so my questions are. how can i deal with the django hash for password? change password from the java crud app would be nice, if can i disable the hash from django would be nice to, its just a institute project, so doesn't matter the security.