Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django list view order by alternating supplier
I have a django ListView which queries for products. I now have a new supplier and I get feeds from each supplier at different times of the day. Whenever one supplier updates I get all the updated products from SUPPLIER_A first and then when SUPPLIER_B updates I get all them returning first. This is pushing each supplier off the first few pages so no user will ever see them products for part of the day. How do I alternate by supplier e.g. my products on page 1 will have 12 from each supplier. class Product(models.Model): SUPPLIER_A = "A" SUPPLIER_B = "B" SUPPLIER_CHOICES = ((SUPPLIER_A,SUPPLIER_A), (SUPPLIER_B, SUPPLIER_B)) category = models.ForeignKey(Category, on_delete=models.PROTECT) supplier = models.CharField(choices=SUPPLIER_CHOICES, max_length=20) class ProductListView(ListView): template_name = "product_list.html" paginate_by = 24 def get_queryset(self, *args, **kwargs): slug = self.kwargs.get("slug") return models.Product.objects.filter(category__slug=slug) -
Static File location on Django app deployed to Google App Engine / Cloud SDK
I have developed a website using the latest version of Django, finished all the offline testing, and deployed it to Google App engine. Previously, images and scripts for my website were located in a folder titled ‘scripts’, and running locally I had no problems. Now that my website is deployed however, no images / scripts / static files are successfully loading, and I cannot figure out an appropriate fix. I have successfully created a bucket with google cloud, but I can’t seem to create a functioning path to that bucket. I am unsure whether a html address is a valid parameter for the path location in Settings.py, and regardless replacing the simple HTML address of my google cloud bucket for my STATIC_URL parameter has not fixed the problem. Has anybody else run into this problem, and does anyone know the best configuration for the static_url parameter in Settings.py? Or a simpler way to set up your static files? Thanks in advance! -
How to run same set of test for anonymous user and logged in user?
I have a simple MovieDB app written in Django where webpages differ slightly between logged in view and guest user view. I have a movies list page which doesn't change for logged in user and anonymous user except for sign-in/register links to sign-out. I am currently testing template used, no. of movies listed, movie title, nav-bar links (home, search page, login/register, sign-out, user account). I want to write tests to check these for both type of user only once. -
How to access static file from a template tag in Django to read a text file?
I am building a system where I want to read a text file from my template. This text file is stored in my static folder. In my app_filters, I have the following function: from django import template register = template.Library() @register.filter def print_file_content(file_name): try: file = open(file_name, 'r') return file.read() except IOError: return '' On my template, I am doing this: {% load static %} {% load app_filters %} <div>{{ "{% static 'my_file.txt' %}" | print_file_content }}</div> I have the file in my static folder: myapp/static/my_file.txt, but the file is not read correctly. And the section just remains empty. How can I fix this issue? Thanks for any help. -
python docxtpl - cant create dynamic form
I have been trying to create a dynamic table in word but the created file has all the contents except the list inside the options tag. I have tried a lot of stuff but can't get it to work. from docxtpl import DocxTemplate from registration.models import stuff def create_doc(options, model, file='resources/stuff.docx'): doc = DocxTemplate(file) log = stuff(options_object=model) log.save() l = [] for i in range(1, len(options) + 1): x = {} x['number'] = i x['course'] = options[i - 1] l.append(x) context = { 'name': model.name, 'reg_no': model.regno, 'roll_no': model.rollno, 'rank': model.student_rank, 'course': model.alloted_to, 'cat': model.alloted_cat, 'options': l } doc.render(context) doc.save(f'media/request_{model.rollno}.docx') The template The output -
I am having unbelievably hard time understanding two scoops of Django, What should I do? [closed]
I have read Django tutorials and practiced Django for a while now and even have made my blog project using Django but still I am having unbelievably hard time understanding two scoops of Django if at all I am understanding anything, What should I do? Is it normal or am I missing some link? -
Reorganizing ManyToMany models into a different order
I have an setup similar to this. class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) books = models.ManyToManyField(Book) def __unicode__(self): return self.title class Book(models.Model): title = models.CharField(max_length=100) author = models.ForeignKey(Author) def __unicode__(self): return self.title Now in my admin panel I can select an author and add Books underneath that specific author. When I print out all the books for each author it prints them in the order that they were added in the admin panel. Is it possible to modify the order in the admin panel so that when they print, they print in the order of the admin panel? -
GeoDjango prevent save latitude and longitude field
i had created longitude and latitude field on my admin, but when i use draw marker instead of input long/lat field, my empty value long/lat field save override my pointfield. Do you have solution for it ? Thank you for reading my question and sorry for my english is bad. model.py class Hostels(models.Model): osm_id = models.CharField(max_length=10) code = models.IntegerField(null=True) fclass = models.CharField(max_length=28) name = models.CharField(max_length=100, default='') address = models.CharField(max_length=100, default='') image_upload = models.ImageField(upload_to='image_nhatro', null=True, blank=True) price = MoneyField(max_digits=14, decimal_places=2, default_currency='VND', default='0') created_at = models.DateField(auto_now_add=True) updated_at = models.DateField(auto_now=True) area = models.FloatField(blank=True, null=True) description = models.TextField(blank=True, null=True) room = models.IntegerField(blank=True, null=True) people = models.IntegerField(blank=True, null=True) phone = models.IntegerField(blank=True, null=True) name_contact = models.CharField(max_length=100, default='') mail = models.CharField(max_length=100, default='') geom = models.PointField(srid=4326, blank=True) def __unicode__(self): return self.name form.py class HostelAdminForm(forms.ModelForm): latitude = forms.FloatField(min_value=-90, max_value=90, required = False) longitude = forms.FloatField(min_value=-180, max_value=180, required = False) class Meta(object): model = Hostels exclude = [] def save(self, commit=True): self.instance.geom = Point(self.cleaned_data["longitude"], self.cleaned_data["latitude"]) return super(HostelAdminForm, self).save(commit) admin.py class quanly_nha_tro(LeafletGeoAdmin): list_display = ('name', 'created_at', 'updated_at') exclude = ('fclass','osm_id','code') form = HostelAdminForm my img admin -
How to make the images same fit or same size?
I'm developing an e-commerce project in django, I have created a model for images and tried to resize or thumbnail the images but it seems this is not working for my case or maybe this is Front-end issue. When the vendor uploads the image products, I want the image products to fit and look in the same line regardless of the image original size. I don't want them to show like in this picture so I want the price and button to be in the same line. I tried to resize the images but won't work -
Make Django 3 REST render HTML template
I am trying to build a Django (version 3.05) REST API call that will render to a chosen HTML template. I am, however, receiving a number of errors that I haven't found a solution to on StackOverflow (And yes, I've looked far and wide). Since my errors are many and varying depending on what I attempt, let me rather ask how to do it correctly to begin with. In my view set up (below), what do I need to add (or change) in order to render the queryset to an HTML template? models.py: from django.db import models class Hero(models.Model): name = models.CharField(max_length=60) alias = models.CharField(max_length=60) def __str__(self): return self.name serializers.py: from rest_framework import serializers from .models import Hero class HeroSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Hero fields = ('name', 'alias') views.py: from rest_framework import viewsets from .serializers import HeroSerializer from .models import Hero class HeroViewSet(viewsets.ModelViewSet): queryset = Hero.objects.all().order_by('name') serializer_class = HeroSerializer # over here - how do I render the queryset /to/my/template.html myapi/urls.py: from django.urls import include, path from rest_framework import routers from . import views router = routers.DefaultRouter() router.register(r'heroes', views.HeroViewSet) -
Django error 'model' object is not iterable
Good afternoon, I am following a Django tutorial to lean and I came up with an TypeError at /x/ I am not sure what I am doing wrong here is the model class articulos(models.Model): nombre = models.CharField(max_length=30) seccion = models.CharField(max_length=30) precio = models.IntegerField() here are the views from django.shortcuts import render from django.http import HttpResponse from GestionPedido.models import articulos def buscar(request): if request.GET["prd"]: #mensaje = "Artículo buscado: %r" %request.GET["prd"] producto = request.GET["prd"] articulo = articulos.objects.filter(nombre__icontains = producto) return render(request, "resultadobusqueda.html", {"articulos":articulos, "query":producto}) else: mensaje = "No has introducido nada %r" return HttpResponse(mensaje) and here is the temple <html> <body> <p>Estas buscando: <strong>{{query}}</strong></p> {% if articulos %} <p>Articulos encomtrados {{articulos|length}} articulos</p> <ul> {% for articulo in articulos %} <li> {{articulos.nombre}} </li> {% endfor %} </ul>> {% else %} <p>Articulos no encontrado</p> {% endif %} </body> </html> it does mark the error {% for articulo in articulos %} I had some other errors that I have manage to find but this one is driving me crazy. I am still learning and finding it all very interesting. Thank you very much! -
Does anyone have an idea how can I set up a specific subscription in stripe with such a special requirements for upgrading and downgrading?
I am working on a platform able to analyse data of the users. I would like to use Stripe payments however I have some problems. At first I would like to describe how I would like my pricing look like in order to make it clearer to understand for you what I want to achieve. During account creation the user can select an amount for example from 1$ to 1000$ that will be available for all services. This amount will be charged every month so this will be working as a subscription plan. The difference is that the amount is not used proportionally each day of the month, as is the case of subscriptions. For example, the user starts one month pricing period 5th of the month with amount equals to 10$. During first 10 days of this period he does not execute any actions so he still has 10$. On the 11th day, he starts the service and uses 4$ within 5 hours. From this time he does not use any tools until the end of the current period and he has 6$ left. I decided at the moment that unused funds will probably not be transferred to the … -
Like Button simultaneously working on all instances at the same time when clicked Jquery, Ajax
i am new to Jquery and Django, I have a problem with the like button, I changed all the id's to classes but now when liking one post, all the like buttons on all posts in the list are getting triggered at the sametime. When using ID, only the 1st instance is working. Is there a way to sort out this issue? js. $(document).ready(function(event){ $(document).on('click', '.like-btn', function(event){ event.preventDefault(); var pk = $(this).attr('value'); $.ajax({ type: 'POST', url: pk, data: {'csrfmiddlewaretoken': '{{ csrf_token }}'}, datatype: 'json', success: function(response){ $('.like_snippet').html(response['form']) console.log($('.like_snippet').html(response['form'])); }, error: function(rs, e){ console.log(rs.responseText); }, }); }); }); like snippet.html <form action="{% url 'posts:like_post' post.slug %}" method="post">{% csrf_token %} {% if is_liked %} <button type="submit" id="like" name="post_slug" value="{% url 'posts:like_post' post.slug %}" class="like-btn btn-sm btn-outline-danger">{{ post.likes.count}} Unlike{{ post.likes.count|pluralize }}</button> {% else %} <button type="submit" id="like" name="post_slug" value="{% url 'posts:like_post' post.slug %}" class="like-btn btn-sm btn-outline-info">{{ post.likes.count}} Like{{ post.likes.count|pluralize }}</button> {% endif %} this is the snippet in the homepage and the tag <div id="like-snip" class="like_snippet"> {% include 'posts/like_snippet.html' %} </div> Is there a way to make this work? I tried changing ID's and classes but still it doesn't work. Thanks in advance! -
WYSIWYG with images uploader, how to upload images after writing in the wysiwyg
I'm writing an application where a user can write a diary, also the user can add images, so I'm using the input file to choose images and un put inside the content editable. After the images are in the content editable, I can see the html as img base 64. So, I was thinking if is possible to upload images after the user submitted everything? or should I upload the images via Ajax and put inside the editor with the right url. (I only think that this option people can upload images than delete from the editor and these images will be kept inside the server useless.) Thank you for any response! -
I got an API on AWS how to post json data using django?
It is working fine when I pass data from POSTMAN. I just want to call the API from Django the same as we do in the postman. -
Merge two Different fields result django Query
I have a model from which I want to get data in a same object(JSON) I have this model class Suggestion(models.Model): city = models.CharField(max_length=250 , null=True , blank=True) name = models.CharField(max_length=250 , null=True , blank=True) Now I will query like this name = Suggestion.objects.filter(name__icontains=search) city = Suggestion.objects.filter(city__icontains=search) Name=nameSeilizerr(activities,many=True) serializer=CitySeilizer(city,many=True) In serializer I will send only name in Nameserializer and city in city Serilizer. Main Concept is I want to suggestion to user either its Name or city name in field. Any help would be highly appreciated. -
Django Bootstrap Modal Forms - Open modal inside another modal
How can I open a model inside another modal in Django Bootstrap Modal Forms? I'm following this guide: https://pypi.org/project/django-bootstrap-modal-forms/#description and I was successful in making a simple modal form. However, I would like to add a new option to the choices in the dropdown list if my choice is not in the list. How can I achieve this output? Also, if ever I submit the 2nd modal form, would the dropdown list from the 1st modal form refresh to display the recently added option? -
How can I use a related field in a SlugRelatedField?
I have the following structures class State(models.Model): label = models.CharField(max_length=128) .... class ReviewState(models.Model): state = models.ForeignKey(State, on_delete=models.CASCADE) ... class MySerializer(serializers.HyperlinkedModelSerializer): state = serializers.SlugRelatedField(queryset=ReviewState.objects.all(), slug_field='state__label', required=False) class Meta: model = MyModel fields = [ 'id', 'state', # this points to a ReviewState object .... ] What I'm trying to do is using the State object's label as the field instead. But it doesn't seem like djangorestframework likes the idea of using __ to lookup slug fields. Would it be possible to do this? If it was: class MySerializer(serializers.HyperlinkedModelSerializer): state = serializers.SlugRelatedField(queryset=State.objects.all(), slug_field='label', required=False) that would be no problem, but I'm trying to use the ReviewState instead. -
How to set chats and newsfeed on same page in django
I want a page like facebook's desktop version which has many functionalities on a single page like newsfeed and chats. I am using django framework. I have created separate urls for chat and newsfeed but I don't know how to set all those pages on homepage. I want user to redirect to this page after logging in. Please help I am in early stage of django. -
Best way to render my python game on a webpage via django
So I just finished making a simple guessing game. You have to guess the random number in 22 guesses. I want to be able to eventually study the data from the users input via machine learning. I decided to use the Django framework. How would I go about doing this? I have set everything up already ( I think ). How do I put the .py game on a webpage. How would I style the logic i made? ( as its just text in a console so far) would i have to put the game in some sort of container and then direct that in a view? I am so confused on the best way to do this lol. Any help will be much appreciated and I am sorry if I am coming across as a noob. :) -
Calling a REST API when a django webserver starts
I have a django webserver that has some code to handle data from dialogflow. So for my project I need to have a user and project list that is cached and will be updated only at regular intervals/ at the startup of webserver. For example Everytime the webserver is started I need to make two rest calls and store the resultant data in variables which i can use later. This is to avoid repeatedly doing those calls since that data is fairly static. Is there a way in django to do this? -
Why it is giving 403 forbidden error once I submit the form?
I was following a newsletter app project. I got 403 error.It is storing data but once i click the subscribe button it shows this error.But unless I remove response=sg.send(message) and obisously not sending the mail.But without this line, app will be incomplete. project/letter/views.py def random_digits(): return "%0.12d" % random.randint(0, 999999999999) @csrf_exempt def new(request): if request.method =='POST': sub = Subscriber(email=request.POST['email'], conf_num=random_digits()) sub.save() message = Mail( from_email=settings.FROM_EMAIL, to_emails= sub.email, subject='Newsletter Confirmation', html_content='Thank you for signing up for my email newsletter! \ Please complete the process by \ <a href="{}/confirm/?email={}&conf_num={}"> clicking here to \ confirm your registration</a>.'.format(request.build_absolute_uri('/confirm/'), sub.email, sub.conf_num)) sg = SendGridAPIClient(settings.SENDGRID_API_KEY) response = sg.send(message) return render(request, 'index.html', {'email': sub.email, 'action': 'added', 'form': SubscriberForm()}) else: return render(request, 'index.html', {'form': SubscriberForm()}) project/letter/models.py class Subscriber(models.Model): email = models.EmailField(unique=True) conf_num = models.CharField(max_length=15) confirmed = models.BooleanField(default=False) def __str__(self): return self.email + " (" + ("not " if not self.confirmed else "") + "confirmed)" project/urls.py from django.contrib import admin from django.urls import path from letter import views urlpatterns = [ path('admin/', admin.site.urls), path('new/', views.new, name='new') ] templates/index.html <div class="container"> <div class="col-12"> <h1>Email Newsletter</h1> </div> <div class="col-12"> {% if email %} <p>{{ email }} has been {{ action }}.</p> {% endif %} </div> {% if form %} <div class="col-12 … -
Django, ajax request and JsonResponse
I'm trying to get the data obtanied filling a form utilizing a ajax call. First of all I have created my models.py: class Costi_materiale(models.Model): codice_commessa=models.ForeignKey(Informazioni_Generali, on_delete=models.CASCADE, null=True) numero_lavorazione=models.ForeignKey(Lavorazione, on_delete=models.CASCADE, null=True) The forms.py: class CostiMaterialeForm(forms.ModelForm): class Meta: model = Costi_materiale fields = "__all__" And finally my views.py: class CostiRicavi(ListView): model = Costi_materiale template_name = 'commesse/costiericavi.html' context_object_name = 'costs' def get_context_data(self, **kwargs): context = super(CostiRicavi, self).get_context_data(**kwargs) context.update({ 'form_1': CostiMaterialeForm(), }) return context class Costi_materiale(View): def get(self, request): codice_commessa1 = request.GET.get('codice_commessa', None) numero_lavorazione1 = request.GET.get('numero_lavorazione', None) obj = Costi_materiale.objects.create( codice_commessa = codice_commessa1, numero_lavorazione = numero_lavorazione1, ) info = { 'id':obj.id, 'codice_commessa':obj.codice_commessa, 'numero_lavorazione':obj.numero_lavorazione, } data = {'info': info} return JsonResponse(data) After I have created my template, in which I have put a form (using crispy) and a jquery code, like the following: <form id="addCostoMateriale"> {% csrf_token %} <div class="form-row"> <div class="form-group col-2 0 mb-0" > {{form_1.codice_commessa|as_crispy_field}} </div> ......... $("form#addCostoMateriale").submit(function() { var codice_commessaInput = $('input[name="codice_commessa"]').val().trim(); var numero_lavorazioneInput = $('input[name="numero_lavorazione"]').val().trim(); if (codice_commessaInput && numero_lavorazioneInput) { // Create Ajax Call $.ajax({ url: '{% url "costi_materiale" %}', data: { 'codice_commessa': codice_commessaInput, 'numero_lavorazione': numero_lavorazioneInput, }, dataType: 'json', success: function (data) { if (data.info) { appendToUsrTable(data.info); } } }); } else { alert("All fields must have a valid value."); } … -
Django page freezes after form submission
recently I am facing an issue that on a page where I have 3 forms on a blog post (they all have separate views to handle them) after I want to submit a comment the page freezes and I need to close the page. This happened on both Chrome and Safari. I do not know where the issue is as I see no error on the console, I can see the POST being successful on the terminal and I do not see any errors overall. My javascript that handles the Ajax: $(document).ready(function(){ $('textarea').keyup(function (e) { var rows = $(this).val().split("\n"); $(this).prop('rows', rows.length); }); var s = 0; $("#post-comment-button-viewer").click(function(){ if(s == 0){ $('textarea').val('') $("#post-comment-form-div").fadeIn(); s = -1; } else { $("#post-comment-form-div").fadeOut(); s = 0; } }) $('.inside-post-detail #likeBtn').on("click", function (e) { e.preventDefault(); if($(".inside-post-detail #likeBtn i").hasClass("fa-thumbs-up")){ $(".inside-post-detail #likeBtn i").removeClass("fa-thumbs-up").addClass("fa-thumbs-down"); } else { $(".inside-post-detail #likeBtn i").removeClass("fa-thumbs-down").addClass("fa-thumbs-up"); } }) $('.post-comment-form').on("submit", function (e) { e.preventDefault(); e.stopImmediatePropagation(); $.ajax({ type:'POST', url: $(this).attr('action'), headers: {'X-CSRFToken': '{{ csrf_token }}'}, data: $(this).serialize(), dataType: 'json', success: function(data) { $("#post-linked-comments div").html(data.comments); $('textarea').val(''); $('.reply-btn').on("click", function () { $("#modal-comment-reply textarea").attr("placeholder","Add your reply") $("#modal-comment-reply textarea").addClass("comment-reply-adjust") var c_id = $(this).data('id'); $("#c-get-id").val(c_id); $('textarea').val(''); $("#modal-comment-reply").modal("show"); }); $('.view-replies').on('click', function () { var h = $(this).data('hidden'); var curr = $(this).text() var … -
no reverse match error when trying to call a view function in django
I want to call a view function, Person2, when pressing the persons button but it seems that there is a miss match in the url. I am trying to call my function from a template wtih the id of person. The template displays the result of a search query that comes from the main page, but I want to be able to call a view function when pressing the person button for further information. my template, searchResult.py: {% extends "artdb/index.html" %} {% block sr1 %} <ul> <a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:person2' person.id %}"> Persons: {{person.count}} </a> <a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:search' %}"> Activities: {{activity.count}} </a> <a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:search' %}"> Members: {{member.count}} </a> <a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:search' %}"> Comments: {{comment.count}} </a> <br></br> {% if person.all %} {% for p in person.all %} <h6>First name: {{p.first_name}}</h6> <h6>Last name: {{p.last_name}}</h6> <h6>Phone: {{p.phone_number}}</h6> <h6>Adress: {{p.street_address}}</h6> <h6>Zip Code: {{p.zipcode}}</h6> <h6>City: {{p.city}}</h6> <h6>Country: {{p.country}}</h6> <h6>Payment: {{p.payment}}</h6> {% for c in p.comment.all %} <h6>Comment: {{c}}</h6> {% endfor %} <hr> {% endfor %} {% for d in activity.all %} <h6>Activity name: {{d.activity_name}}</h6> <h6>project name: {{d.project.project_name}}</h6> …