Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
CSS styling in Django
I linked my CSS to my template index, the Styling worked partly.. but the border settings did not apply. Here is my code. I have already checked the class name multiple times, also the border settings do not apply to h1 CSS Styling -
IntelliJ - indent Django directives in HTML?
Just thought I'd see if there was any way of doing this. Django template files contain "directives" (I think this is the right term). An example is: <div class="row"> <div class="col-md-8"> {% for message in messages %} {% if message.level_tag == 'success' %} <div class="alert alert-success">{{ message }}</div> {% else %} <div class="alert alert-warning">{{ message }}</div> {% endif %} {% endfor %} </div> </div> NB the above is an example of how a file looks after going Code --> Reformat code. ... it would be desirable to say, for example, that {% for %} indents and {% endfor %} de-indents. I had a look under File --> Settings --> Editor --> Code style --> HTML ... but I couldn't see any way of adding additional "tag/directive" strings. It looks like HTML tags are hard-coded into this formatting engine and you can't add to them. -
Docker nuxt js and django getting error (Econnrefused)
i am currently working on docker with django and nuxt js. I can get json data from https://jsonplaceholder.typicode.com/posts in asyncData or nuxtServerInit it's correctly fetching and getting no error. But when i want to fetch from my django rest api service is getting error (cors headers added). I tested to fetching posts from django rest api with created() hook and it's working. I don't understand why its getting error. my docker compse ile version: '3' networks: main: driver: bridge services: api: container_name: blog_api build: context: ./backend ports: - "8000:8000" command: > sh -c "python manage.py runserver 0.0.0.0:8000" volumes: - ./backend:/app networks: - main web: container_name: blog_web build: context: ./frontend ports: - "8080:8080" volumes: - ./frontend:/code networks: - main backend docker file FROM python:3.8-alpine ENV PYTHONBUFFERED 1 ENV PYTHONWRITEBYTECODE 1 RUN mkdir /app WORKDIR /app COPY ./requirements.txt /app/ RUN pip install -r requirements.txt EXPOSE 8000 ADD . /app frontend dockerfile FROM node:13-alpine WORKDIR /code/ COPY . . EXPOSE 8080 ENV NUXT_HOST=0.0.0.0 ENV NUXT_PORT=8080 RUN npm install CMD ["npm", "run", "dev"] Nuxt-config.js server: { port: 8080, host: '0.0.0.0' } pages/index.vue export default { asyncData(context){ return context.app.$axios.$get('http://127.0.0.1:8000') // this throwing an error .then((res) => { let posts = []; posts = res; return … -
images not loading on webpage from database using django
i have made a library web app. i am trying to make a search for searching the books from database.all other information such as title is showing except the image.below is the screenshot enter image description here below is my search.html {% extends 'bookslib/base.html' %} {% block body_block %} {% load static %} {% if books %} {% for book in books %} <div class="books"> <div class="book"> <img src="{{ book.imagefile.url }}" height="250px" width="200px"> <p>{{ book.title }}</p> </div> </div> {% endfor %} {% endif %} {% endblock %} below is search view: enter code here def search(request): if request.method == "POST": query = request.POST.get('query') if query: books = Book.objects.filter(Q(title__icontains=query) | Q(author__name__icontains=query)) if books: return render(request, 'bookslib/search.html', {'books':books}) else: return redirect('bookslib/home.html') return redirect('bookslib/home.html') i have added this path to my main project's urls.py enter code here + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) my images are in media/images/ media directory is in directory where my project and app is stored. kindly help me. if you need another information please let me know. thank you in advance. -
Why is my form not being saved to the database?
Hi I'm developing a website for an online store using Django. I want to use Ajax to handle the view of my checkout form after it has been submitted. After the form is submitted, I want it to go to : return HttpResponseRedirect(reverse(str(next_page))+"?address_added=True") , i.e http://127.0.0.1:8000/checkout/?address_added=True But for some reason, it is not going there. Rather it's being redirected to http://127.0.0.1:8000/checkout/?csrfmiddlewaretoken=W4iXFaxwpdtbZLyVI0ov8Uw7KWOM8Ix5GcOQ4k3Ve65KPkJwPUKyBVcE1IjL3GHa&address=123+Main+Street&address2=&state=MA&country=USA&zipcode=55525&phone=%28877%29+314-0742&billing=on As a result, the form data is also not getting saved. I was thinking if it were because of the new version of Django. What I want to do is that after they submit the place order button, the form is going to be None, i.e disapper and then I would add a credit card form there for payment. But it is not happening. What is wrong here? Can anyone please help me out of this or is there a better way to do this? My forms.py: class UserAddressForm(forms.ModelForm): class Meta: model = UserAddress fields = ["address", "address", "address2", "state", "country", "zipcode", "phone", "billing"] My accounts.views.py: def add_user_address(request): try: next_page = request.GET.get("next") except: next_page = None if request.method == "POST": form = UserAddressForm(request.POST) if form.is_valid(): new_address = form.save(commit=False) new_address.user = request.user new_address.save() if next_page is not None: return HttpResponseRedirect(reverse(str(next_page))+"?address_added=True") … -
How to sort a column by Django model method using django-sortable-listview (SortableListView)?
Using django-sortable-listview package, I'm using SortableListView to sort out all the model fields. In my case, more than model fields, I want to sort it out by model method too. Models.py class Employee(models.Model): name = models.CharField() designation = models.CharField() company = models.ForeignKey(Company) team = models.CharField() # method def team_count(self): count = len(Employee.objects.filter(team=self.team)) return count Views.py class EmployeeListView(SortableListView, generic.list.ListView): allowed_sort_fields = {'name': {'default_direction': '', 'verbose_name': 'Employee Name'}, 'designation': {'default_direction': '', 'verbose_name': 'Designation'}, 'team': {'default_direction': '', 'verbose_name': 'Team Name'}, 'team_count()': {'default_direction': '', 'verbose_name': 'No of Team members'}} default_sort_field = 'name' queryset = Employee.objects.all() paginate_by = 10 On the above example, I want to list out Employee name, designation, team name and count of team members. Anybody help me to sort 'team_count' column? -
how to iterate through an array in the Django database
Help please ) I create a local site for myself . A new user is created during registration . After that, you need to log in to your account, you just need to search for an element with the entered name and that's it . Then I don't know how to find the same element in other views . So I want that after registration at the entrance, the array is moved and this element becomes at the end , where I can easily call it using -id -
template not displaying information - django
I can't figure out why my data won't display in my user.html template. From reviewing the code it looks like everything is linked correctly. The users.html page is showing up on the website minus the information about {{ user.order_set.all }}. I have highlighted the code I believe relates to the issue. Any guidance would be greatly appreciated, thanks! user.html - html for displaying the data {% extends "fuisce/base.html" %} {% block content %} **{{ user.order_set.all }}** {% endblock content %} views.py - order from django.shortcuts import render, HttpResponseRedirect from django.urls import reverse # Create your views here. from carts.models import Cart from .models import Order from users.models import Profile from .utils import id_generator **def orders(request): context = {} template = "orders/user.html" return render(request, template, context)** def checkout(request): try: the_id = request.session['cart_id'] cart = Cart.objects.get(id=the_id) except: the_id = None return HttpResponseRedirect(reverse("cart")) new_order, created = Order.objects.get_or_create(cart=cart) if created: new_order.order_id = id_generator() new_order.save() my_p = Profile.objects.get(user=request.user) new_order.user = my_p new_order.save() if new_order.status == "Finished": # cart.delete() del request.session['cart_id'] del request.session['items_total'] return HttpResponseRedirect(reverse("cart")) context = {} template = "fuisce/about.html" return render(request, template, context) models.py - orders from django.db import models # Create your models here. from carts.models import Cart from users.models import Profile STATUS_CHOICES … -
Absolute paths on images uploaded by django-ckeditor
I am using django-rest-framework in conjuntion with django-ckeditor. I'm serving some images with absolute url-s without any problem. But images and files uploaded by ckeditor are served as relative paths, and they can't be displayed client side since it is in a different domain. Here is an example of what I'm getting: { image: "http://example.com/media/myimage.png", body: "<p><a href=\"/media/ckeditor/myfile.pdf\">download my file</a></p>" } And this is what I woul like to get: { image: "http://example.com/media/myimage.png", body: "<p><a href="http://example.com/media/ckeditor/myfile.pdf\">download my file</a></p>" } -
Slack bot sending messages two times when only one was called
Im currently building a simple web page with django that runs some code on the back. For running certaing methods, I created a slack bot. Let me explain the process From some channel, a user can type @Orchestrator help And they will receive a response with the commands the bot has. One of the commands is start_recon, so the message looks like this @Orchestrator start_recon <some_target> This is received by a endpoint called slack_in, which looks like this @csrf_exempt @require_POST def slack_input(request): data = request.body data = json.loads(data.decode()) if 'challenge' in data: return JsonResponse({'challenge': data}) response = slack_receiver.receive_bot_message(data) return HttpResponse(status=response) This then get parsed with receive_bot_message and from there the different tasks start. Expected behaviour: Both @Orchestrator help and @Orchestrator start_recon <target> send one request to the slack_in endpoint Actual behaviour @Orchestrator start_recon <target> is sending 2 identical requests but @Orchestrator help is sending one. -
Trying to resolve no such column: blog_comment.url
Once a user had logged into my site he could write a post and update it. Then I was making progress in adding functionality which allowed people to make comments. I was at the stage where I could add comments from the back end and they would be accurately displayed on the front end. Now when I try and update posts I get an error message. Originally I thought the problem was because I had not included a slug field in my class called Comments. Then I added url= models.SlugField(max_length=500, unique=True, blank=True). Do I now need to reset the database linked to this class? If so how do I achieve that? Or am I going off at a massively incorrect tangent? models.py from django.db import models from django.utils.text import slugify from django.utils import timezone from django.contrib.auth.models import User from django.urls import reverse # Create your models here. class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() date_posted = models.DateTimeField(default=timezone.now()) author = models.ForeignKey(User, on_delete=models.CASCADE) url= models.SlugField(max_length=500, unique=True, blank=True) def save(self, *args, **kwargs): self.url= slugify(self.title) super().save(*args, **kwargs) def __str__(self): return self.title def get_absolute_url(self): return reverse('article_detail', kwargs={'slug': self.slug}) class Comment(models.Model): post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='comments') name = models.CharField(max_length=80) email = models.EmailField() body = models.TextField() created_on = … -
Is there a website or YouTube instructor that goes over Django groups and permissions? [closed]
I'm curious if anyone has a list of websites/books/youtube instructors that go over groups and permissions in Django? I will eventually be building a site that will restrict certain users to certain content. -
Are these the steps followed on setting up Django application with Ngnix & Gunicorn ? Please tell me If I am missing or wrong somewhere [closed]
User’s request comes to Ngnix. Ngnix forwards request to gunicorn through a socket (Socket A) Gunicorn sends request to django.core.handlers.wsgi through another socket (Socket B) where an application object (or callable) is created which is used by Gunicorn for every request . Then a list of request and response middleware callables is created on wsgi callable object. Request middleware is applied. If it sends a response, it is returned to the user. urlresolvers.resolve finds the view function to use. View middleware is applied. If response comes, it is sent back to the user. View function is called. It talks to models to do business logic, and renders the templates. The response middleware is applied, and response is sent back to the users -
Django ORM. Select only duplicated fields from DB
I have table in DB like this: MyTableWithValues id | user(fk to Users) | value(fk to Values) | text | something1 | something2 ... 1 | userobject1 | valueobject1 |asdasdasdasd| 123 | 12321 2 | userobject2 | valueobject50 |QWQWQWQWQWQW| 515 | 5555455 3 | userobject1 | valueobject1 |asdasdasdasd| 12345 | 123213 I need to delete all objects where are repeated fields user, value and text, but save one from them. In this example will be deleted 3rd record. How can I do this, using Django ORM? PS: try this: recs = ( MyTableWithValues.objects .order_by() .annotate(max_id=Max('id'), count_id=Count('user__id')) #.filter(count_id__gt=1) .annotate(count_values=Count('values')) #.filter(count_icd__gt=1) ) ... ... for r in recs: print(r.id, r.count_id, , r.count_values) it prints something like this: 1 1 1 2 1 1 3 1 1 ... Dispite the fact, that in database there are duplicated values. I cant understand, why Count function does not work. Can anybody help me? -
Django 3 Problem with concatenating inside a template tag
I want to concatenate a string inside a template in Django (version 3). I have read everything I could find on the subject and found that this should be the way: {{ "ST" | add: item.id | stringformat:"08d" }} But it produces the error: django.template.exceptions.TemplateSyntaxError: add requires 2 arguments, 1 provided Can anybody shed light into my darkness? -
Django & Certbot - unauthorized, Invalid response (HTTPS)
I'm trying to configure Certbot (Letsencrypt) with Nginx. I get this error : - The following errors were reported by the server: Domain: koomancomputing.com Type: unauthorized Detail: Invalid response from http://koomancomputing.com/.well-known/acme-challenge/xvDuo8MqaKvUhdDMjE3FFbnP1fqbp9R66ah5_uLdaZk [2600:3c03::f03c:92ff:fefb:794b]: "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>" Domain: www.koomancomputing.com Type: unauthorized Detail: Invalid response from http://www.koomancomputing.com/.well-known/acme-challenge/T8GQaufb9qhKIRAva-_3IPfdu6qsDeN5wQPafS0mKNA [2600:3c03::f03c:92ff:fefb:794b]: "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>" To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. in /etc/nginx/sites-available/koomancomputing : server { listen 80; server_name koomancomputing.com www.koomancomputing.com; location = /favicon.ico { access_log off; log_not_found off; } location /staticfiles/ { root /home/kwaku/koomancomputing; } location /media/ { root /home/kwaku/koomancomputing; } location / { include proxy_params; proxy_pass http://unix:/run/gunicorn.sock; } } my DNS A/AAAA records : I didn't know what to do, so I did a search and find django-letsencrypt app, but I don't know hot to use : -
edit a manytomany relation
I have two models in my django app related by manytomany relationship. I created an edit function but it's not working or to be precise it's not able to render the formset Models.py class Player(models.Model): pname = models.CharField(max_length=50) hscore = models.IntegerField() age = models.IntegerField() def __str__(self): return self.pname class Team(models.Model): tname = models.CharField(max_length=100) player= models.ManyToManyField(Player) def __str__(self): return self.tname Forms.py class PlayerForm(forms.ModelForm): class Meta: model = Player fields = '__all__' PlayerFormset= formset_factory(PlayerForm) class TeamForm(forms.ModelForm): player= PlayerFormset() class Meta: model = Team fields = '__all__' exclude = ["player"] Views.py def updateTeam(request,pk): team = Team.objects.get(id=pk) form = TeamForm(instance=team) if request.method == "POST": form = TeamForm(request.POST, instance=team) if form.is_valid(): form.save() context = {'form': form} return render(request, 'packsapp/employee/new.html', context) The above code renders the team name in the form but not the related players. -
Windows equvalent unix command
I got django delete migrations command in reset migration and that is find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete now need these twos equivalent windows command. -
Multiple file upload in django class based view
In django I have completely used class based view, now I want to allow users to upload multiple files (I have successfully working website to upload one file) In documentation I can find answer for forms from scratch or form model(forms.Model) But not for model forms (models.Model) -
ERRORS: <class 'main.admin.HomePageAdmin'>: (admin.E012) There are duplicate field(s) in 'fieldsets[0][1]'
i'm getting this error when i try to run migrations in my django cartridge ecommerce website: this is my model.py file from __future__ import unicode_literals from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext, ugettext_lazy as _ from django.db import models from mezzanine.pages.models import Page from mezzanine.core.models import Orderable from mezzanine.core.fields import FileField, RichTextField from mezzanine.core.models import SiteRelated from cartridge.shop.models import Product from datetime import datetime from mezzanine.utils.timezone import get_best_local_timezone from mezzanine.conf import settings from pytz import timezone @python_2_unicode_compatible class SiteConfiguration(SiteRelated): """Singleton model for storing site-wide variables.""" logo = FileField("Logo", upload_to="site", format="Image", blank=True) logo_small = FileField( _("Small Logo"), upload_to="site", format="Image", blank=True ) favicon = FileField( _("Favicon"), upload_to="site", blank=True, help_text=_("An image that appears in the browser tab") ) footer_address = RichTextField( default=_("Our address"), help_text=_("Company address displayed in footer.")) footer_subscribe_info = models.CharField( max_length=200, default=_("Pellentesque habitant morbi tristique senectus et netus \ et malesuada fames ac turpis egestas."), help_text=_("Text displayed above the subscription email field.") ) def __str__(self): return str(self.site) class Meta: verbose_name = verbose_name_plural = _("Site Configuration") class Homepage(Page): """Main class for homepage.""" product_heading = models.CharField( max_length=100, default=_("Hot This Week"), help_text=_("A header displayed above the products.") ) second_slider_heading = models.CharField( max_length=100, default=_("GET INSPIRED"), help_text=_("A header displayed above the 2nd slider.") ) second_slider_subheading = … -
How to use get_fields() to access M2M field values
I am using get_fields() to produce a dict of all model field names and values: def get_model_fields(self, obj, fields): model_fields = {} for f in self.model._meta.get_fields(include_hidden=True): value = getattr(obj, f.name) model_fields.append({ 'label': f.verbose_name 'name': f.name, 'help_text': f.help_text, 'value': value, 'class': str(f.__class__)}) This works well except for ManyToMany fields, where the label, name, help_text and class all display fine, but the value returns [modelname].None, despite it containing values. How can I add the values of the ManyToMany field to this function? -
Celery tasks sending to different queues is not working
My use case is to add use multiple queues for different tasks So that all upload_photos task is sent to one queue and upload_phone_number to another queue since upload task is a heavy task, I don't want an upload phone number to be affected by upload_photos, even though I am using different queues, upload_phone_number task is waiting till the execution of upload photos. Is this the right way of writing multiple queues CELERY_QUEUES = ( Queue('fast', Exchange('fast'), routing_key='fast'), Queue('default', Exchange('default'), routing_key='default') ) CELERY_ROUTES = { 'upload_phone_number': { 'exchange': 'fast'` 'exchange_type': 'direct', 'routing_key': 'fast' }, 'upload_photos': { 'exchange': 'default', 'exchange_type': 'direct', 'routing_key': 'default' }, } This is my celery task @app.task(name="upload_phone_number") def upload_photos(): @app.task(name="upload_phone_number") def upload_phone(): -
UNIQUE constraint failed on Posting form
I am trying to post a simle form to create a user. but whenever i try to save the form data it always gives me UNIQUE constraint failed error even if i pass the new mobile number that does not exist on database. ERROR IS: UNIQUE constraint failed: core_user.mobile_no models.py Manager Class is: class UserManager(BaseUserManager): def create_user(self, username, password=None, **extra_fields): """Creates and saves a new user""" if not password: raise ValueError("User must have a password") if not username: raise ValueError("User must have an username") user = self.model(username=username, **extra_fields) user.set_password(password) user.save(using=self.db) return user def create_staff_user(self, username, password=None, **kwargs): user = self.create_user(username, password, is_staff=True, **kwargs) return user def create_super_user(self, username, password=None): user = self.create_user(self, username=username, password=password, is_staff=True, is_super_user=True) return user Model class is: class User(AbstractBaseUser): user_types = ( ("staff", "Staff"), ("super_user", "Super User"), ) first_name = models.CharField(max_length=100) middle_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) username = models.CharField(max_length=100, unique=True) email = models.EmailField() mobile_no = models.CharField(max_length=10, unique=True) is_active = models.BooleanField(default=True) # can login is_staff = models.BooleanField(default=False) # staff user is_super_user = models.BooleanField(default=False) # super user created_date = models.DateTimeField(auto_now_add=True) USERNAME_FIELD = 'username' objects = UserManager() # USERNAME_FIELD and password are required by default REQUIRED_FIELDS = [] # e.g full_name def __str__(self): return self.username Views.py class UserCreationView(CreateView): … -
Allow user deletion but keep references to them
What is the standard way of allowing a user to delete their account from your website without removing any references to them, so that others can still see them? For example, how does Stack Overflow do it? I assume that, when you delete your account, your posts and answers aren't deleted as well? So how do they manage it? -
Django signals doesn't work with related name
I am trying to do it when foreignkey changed, but it doesn't work. I want to do something like m2m_changed but for foreign key. User model class User(AbstractUser): balance = models.FloatField(default=0) Transaction model class Transaction(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='transactions') order = models.OneToOneField('Payment.Order', on_delete=models.CASCADE, related_name='transaction') transaction_type = models.CharField(choices=[ ('transfer', 'Transfer'), ('received', 'Received'), ], max_length=20, default='transfer') created = models.DateTimeField(auto_now_add=True) Now I need when new transaction created under the user it collected to the balance. Signals code @receiver(pre_save, sender=User) def collect_transaction(sender, instance, **kwargs): balance = instance.transactions.aggregate(Sum('order__price')) print(balance) but when it work only when i update it from the user not the transaction. For example Transaction.objects.create(user=1, order=1, transaction_type='received') This code won't make the signals work.