Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Java Script accordion functionality problem
Im making a app in django which needs a accordion. This is the following HTML code {% load static %} {% for comp in comps %} <script src="{% static 'main/app.js' %}"></script> <div class="accordion-body"> <div class="accordion"> <div class="container"> <div class="label"> {{comp.name}} {{comp.country}}, {{comp.city}} </div> <div class="content">{{comp.descr}}</div> <hr> </div> </div> </div> {% endfor %} This is the css which actually hides the content. Note Ive taken out a lot of uneccessary css like font-size and colors. .accordion .label::before { content: '+'; top: 50%; transform: translateY(-50%); } .accordion .content { text-align: justify; width: 780px; overflow: hidden; transition: 0.5s; } .accordion .container.active .content { height: 150px; } Finally this is javascript which is meant to add a Event Listener const accordion = document.getElementsByClassName('container'); accordion.addEventListener('click', function () { this.classList.toggle('active') }) The active class isnt being added. There might be a problem with linking the js with the HTML doc since when I run the app this is what I get in the command line. GET /static/main/app.js HTTP/1.1 The location is definitely correct -
Django - count how many objects are in self
I have a very simple model with the following details: class ExclusiveUser(models.Model): exclusivepass = models.CharField(max_length=4, primary_key=True, editable=False) first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) date_of_birth = models.DateField(null=True) date_of_birth = models.DateField(null=True) age = models.IntegerField(editable=False) def save(self,*args, **kwargs): today = date.today() self.exclusivepass = exclusivepass_gen(self.exclusivepass.all().count()) self.age = today.year - self.date_of_birth.year - ((today.month, today.day) < (self.date_of_birth.month, self.date_of_birth.day)) super().save(*args, **kwargs) exclusivepass_gen is a simple utils.py method for generating a unique exclusivepass def exclusivepass_gen(pass_count): pass_next = 0 pass_limit = 101 if pass_count < pass_limit: pass_next = pass_count + 1 return ('E' + "{:03d}".format(pass_next)) I'm trying to get the count of all objects in the table to pass to exclusivepass_gen to generate the next number, but I get the following error when i do: 'ExclusiveUser' object has no attribute 'all' How can i count all objects in the model to pass to exclusivepass_gen method? -
Django rest framework cast foreign mysql foreign table column
please help me to convert cast foreign table(customers) first name class LoandetailListSearch(generics.ListAPIView): serializer_class = LoandetailSerializer def get_queryset(self): """ Optionally restricts the returned loan details to a search list, by filtering against a `fields` in query parameter in the URL. """ queryset = Loandetails.objects.all().exclude(broker_name__isnull=True).\ extra( { 'staff': "CONVERT(CAST(CONVERT(CONCAT(staff ) using latin1) as binary) using utf8)", 'customer__first_name': 'SELECT CONVERT(CAST(CONVERT(CONCAT(first_name ) using latin1) as binary) using utf8) as first_name FROM customers WHERE customers.id = loan_details.customer_id' }).\ extra(select={'customer__first_name': 'SELECT CONVERT(CAST(CONVERT(CONCAT(first_name ) using latin1) as binary) using utf8) as first_name FROM customers WHERE customers.id = loan_details.customer_id' }) return queryset I tried to convert and cast both methods first_name, But no luck. Thanks -
Django - get latest price for each product and put in a query set in order to render in a template
I have 3 models: class Chemicals(models.Model): id_chemical = models.AutoField(primary_key=True) id_supplier = models.ForeignKey(Suppliers, null=True, on_delete = models.CASCADE) description = models.CharField(max_length=50, blank=False, null=False) [...] class Suppliers(models.Model): id_supplier = models.AutoField(primary_key=True) company_name = models.CharField(max_length=100, blank=False, null=False) [...] class Prices(models.Model): id_chemical=models.ForeignKey(Chemicals, null=False, on_delete = models.CASCADE, related_name='prezzo') price=models.IntegerField(blank=False, null=False, default=0) price_date=models.DateField(default=datetime.date.today) I need to get the latest price by date and use it in a queryset to show it in a template. I tried this solution: def price_list(request,pk): supplier = get_object_or_404(Suppliers, pk=pk) chemicals_list = Chemicals.objects.filter(id_supplier=pk) qs=Prices.objects.all() prova=qs.values('id_chemical').annotate(latest_price=Max('price_date')) qs=qs.filter(price_date__in=prova.values('latest_price').order_by('- price_date')).filter(id_chemical__id_supplier=pk) context={'supplier': supplier, 'chemicals_list': chemicals_list, 'qs': qs, 'chem_price': chem_price} return render(request, "chemicals/price_list.html", context) Now I have what I need but if I want to show it in a template I have some problem. I tried to do this: <tbody> {% for chemical in chem_price %} <tr> <td><a href="{% url 'chemicals:single-product' pk=chemical.id_chemical %}">{{ chemical.description }}</a></td> <td>{{ qs.price }}</td> <td>{{ chemical.cov }}</td> {% endfor %} </tbody> Whit this solution, in template I see the same price for all products. I need to take some columns of my chemicals model, add latest price and show in a table row in a template. -
Making a CreateForm with choices based on database values
I am making a django project and I have a form for the User to add a Vehicle Manually that will be assigned to him. I also would like to had an option for the user to choose a vehicle based on the entries already present in the database. vehicles/models.py class Vehicle(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) nickname = models.CharField(unique = True, max_length=150) date_joined = models.DateTimeField(default=timezone.now) brand = models.CharField(max_length=150) battery = models.CharField(max_length=150) model = models.CharField(max_length=150) def __str__(self): return self.nickname def get_absolute_url(self): return reverse('vehicle-list') class Meta: db_table = "vehicles" I created a form so the user can add his Vehicles as such: vehicles/forms.py class VehicleAddFormManual(forms.ModelForm): class Meta: model = Vehicle fields = ('brand','model', 'battery', 'nickname') def __init__(self, *args, **kwargs): user = kwargs.pop('user', None) super().__init__(*args, **kwargs) self.fields['brand'] self.fields['model'] self.fields['battery'] self.fields['nickname'] The corresponding view: vehicles/views.py class AddVehicleViewManual(LoginRequiredMixin, CreateView): model = Vehicle form_class = VehicleAddFormManual def get_form_kwargs(self): kwargs = super().get_form_kwargs() kwargs['user'] = self.request.user return kwargs def form_valid(self, form): form.instance.user = self.request.user return super().form_valid(form) The html file: vehicles/templates/vehicles/vehicle_form.html {% extends "blog/base.html" %} {% block content %} {% load crispy_forms_tags %} <div class="content-section"> <form method="POST"> {% csrf_token %} <fieldset class="form-group"> <legend class="border-bottom mb-4">New Vehicle</legend> {{ form|crispy }} </fieldset> <div class="form-group"> <button class="btn btn-outline-info" type="submit">Submit</button> </div> </form> </div> … -
'<' not supported between instances of 'Post' and 'Post' django
when i tryed to loop the posts from the list pposts i get this err and i dont know how to fix it '<' not supported between instances of 'Post' and 'Post' TypeError at / '<' not supported between instances of 'Post' and 'Post' TypeError at / '<' not supported between instances of 'Post' and 'Post' TypeError at / '<' not supported between instances of 'Post' and 'Post' TypeError at / '<' not supported between instances of 'Post' and 'Post' #views def frontpage(request, *args, **kwargs): #loged in profile profile = Profile.objects.get(user= request.user) #check who we are following users = [user for user in profile.following.all()] #val pposts = [] qs = None #get the posts pepole we follow for u in users: p= Profile.objects.get(user=u) p_posts = p.post_set.all() pposts.append(p_posts) #my posts mposts = [] my_posts = profile.profiles_posts() mposts.append(my_posts) if len(pposts) > 0: qs = sorted(chain(*pposts), reverse=True) return render(request, 'posts/frontpage.html', {'posts': qs, 'pposts': qs }) #models class Post(models.Model): ch = [ ('pvp','pvp'), ('Default','Default'), ('bedrock','bedrock') ] xch = [ ('x1','x1'), ('x4','x4'), ('x8','x8'), ('x16','x16'), ('x32','x32'), ('x64','x64'), ('x128','x128'), ('x256','x256'), ('x512','x512'), ] vch = [ ('1.7','1.7'), ('1.8','1.8'), ('1.9','1.9'), ('1.10','1.10'), ('1.11','1.11'), ('1.12','1.12'), ('1.13','1.13'), ('1.14','1.14'), ('1.15','1.15'), ('1.16','1.16'), ('1.17','1.17'), ] author = models.ForeignKey(Profile,on_delete=models.CASCADE) title = models.CharField(max_length=150) slug = models.SlugField(null=True, editable=False) … -
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1:3307' (61)")
I got this error in the process of deploying my django app to heroku and here is the solution I figured : Change the DATABASE PORT to : '3306' and if you're still getting the error keep the port to '3307' and run your database server from Xampp. -
How to logout and destory token in PyJWT Django?
I have make a token in PyJWT like this: import jwt import datetime payload = { "id": 1, "exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=1000), "iat": datetime.datetime.utcnow() } token = jwt.encode(payload, 'secret', algorithm='HS256') And sent to front and also retrive my payload like this: payload = jwt.decode(token, 'secret', algorithms=['HS256']) And now i want to destroy token in server and logout. How to do this? -
502 Bad Gateway nginx/1.18.0 (Ubuntu) DJANGO - NGINX - GUNICORN
I deleted the clinicsite file and then restored it. I restart gunicorn and nginx and the error came up And my project have this structure: gunicorn.service file [Unit] Description=gunicorn daemon Requires=gunicorn.socket After=network.target [Service] User=root Group=sudo WorkingDirectory=/root/myprojectdir ExecStart=/root/myprojectdir/myprojectenv/bin/gunicorn \ --access-logfile - \ --workers 3 \ --bind unix:/run/gunicorn.sock \ clinicsite.wsgi:application [Install] WantedBy=multi-user.target nginx.conf file user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } Do I need to share other files? -
How Can I make Image Field in Django ModelForm Required
I have a Django ModelForm with an image field and I want to add validation on empty image form field. That is, I want system validation message display when user did not select an image. I have tried but it is not working as I expected because my Validation Error Message displays only when the user selection is not an image but processes the form on none selection. In short I want to add a required attribute to the image field thereby compelling the user to select a valid image before proceeding. Here is my Model code: class ProfileUpdateForm(forms.ModelForm): class Meta: model = Profile fields = [ 'image'] def clean_image(self): image = self.cleaned_data.get('image') if not image or image == "": raise forms.ValidationError(('Invalid value'), code='invalid') return image Someone should help with solution on how best to solve this problem. -
Heroku Application Error - Giving (H=10) error
Tried lots of stackoverflow suggestion still can't get rid of this problem. Application deployed successfully but showing nothing. Error: 2022-05-30T12:04:32.860229+00:00 app[web.1]: mod = importlib.import_module(module) 2022-05-30T12:04:32.860230+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/importlib/init.py", line 126, in import_module 2022-05-30T12:04:32.860231+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level) 2022-05-30T12:04:32.860231+00:00 app[web.1]: File "", line 1050, in _gcd_import 2022-05-30T12:04:32.860231+00:00 app[web.1]: File "", line 1027, in _find_and_load 2022-05-30T12:04:32.860231+00:00 app[web.1]: File "", line 1006, in _find_and_load_unlocked 2022-05-30T12:04:32.860232+00:00 app[web.1]: File "", line 688, in _load_unlocked 2022-05-30T12:04:32.860232+00:00 app[web.1]: File "", line 883, in exec_module 2022-05-30T12:04:32.860232+00:00 app[web.1]: File "", line 241, in _call_with_frames_removed 2022-05-30T12:04:32.860232+00:00 app[web.1]: File "/app/bazaar/wsgi.py", line 16, in 2022-05-30T12:04:32.860232+00:00 app[web.1]: application = get_wsgi_application() 2022-05-30T12:04:32.860233+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application 2022-05-30T12:04:32.860233+00:00 app[web.1]: django.setup(set_prefix=False) 2022-05-30T12:04:32.860233+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/init.py", line 19, in setup 2022-05-30T12:04:32.860233+00:00 app[web.1]: configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) 2022-05-30T12:04:32.860234+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/conf/init.py", line 83, in getattr 2022-05-30T12:04:32.860234+00:00 app[web.1]: self._setup(name) 2022-05-30T12:04:32.860234+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/conf/init.py", line 70, in _setup 2022-05-30T12:04:32.860234+00:00 app[web.1]: self._wrapped = Settings(settings_module) 2022-05-30T12:04:32.860234+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/conf/init.py", line 177, in init 2022-05-30T12:04:32.860234+00:00 app[web.1]: mod = importlib.import_module(self.SETTINGS_MODULE) 2022-05-30T12:04:32.860235+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/importlib/init.py", line 126, in import_module 2022-05-30T12:04:32.860235+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level) 2022-05-30T12:04:32.860235+00:00 app[web.1]: File "", line 1050, in _gcd_import 2022-05-30T12:04:32.860235+00:00 app[web.1]: File "", line 1027, in _find_and_load 2022-05-30T12:04:32.860235+00:00 app[web.1]: File "", line 1006, in _find_and_load_unlocked 2022-05-30T12:04:32.860235+00:00 app[web.1]: File "", … -
How to use `docker compose exec` with both grep and ANSI color?
I'm only casually familiar with Docker, and how TTYs work in Linux. At work, I use commands like docker compose up to start the development stack (Postgres + Django), and docker compose exec web python manage.py ... to run Django commands during development. Conflicting problems: I can't pipe in input or grep output without adding -T. I don't know why, I just know it works with it, and not without it. I populate the DB with docker compose exec -T db psql -U username myproj < snapshot.sql because without the -T the input doesn't make it to psql. I also add -T when I have to grep the output, like: docker compose exec web python manage.py showmigrations | grep '[ ]'. However, when I use -T, it screws up ANSI coloring and formatting. Without -T: With -T: Question: What's the correct method? How do I properly connect STDIN & STDOUT without messing up color & formatting? -
Javascript, showing blob images
So I have this codes in my Django project. I am adding this with jQuery when I upload a file to html input tag which looks like: <input type="file" name="photo" accept="image/*" id="id_photo" multiple> JS (jQuery): ...append(`<img scr="${URL.createObjectURL(files[i])}" width="100px" height="100px">`) // files[i] comes from looping over multi-uploaded images html after uploading: <img scr="blob:http://127.0.0.1:8000/0929d4cc-972f-4f2b-b5ea-635020c47afa" width="100px" height="100px"> the blob image url (blob:http://127.0.0.1:8000/0929d4cc-972f-4f2b-b5ea-635020c47afa): So it actually shows the image in that url, but it looks like it can't identify the image in html. The question is why image is not shown on html? Thanks. -
Take the current admin
serializers.py class RegSerializer(serializers.ModelSerializer): admin = serializers.SlugRelatedField(slug_field='username', read_only=True) class Meta: model = Registration fields = [ 'id', 'rooms', 'first_name', 'last_name','admin', 'pasport_serial_num', 'birth_date', 'img', 'visit_date', 'leave_date', 'guest_count', 'room_bool'] models.py class Rooms(models.Model): objects = None room_num = models.IntegerField(verbose_name='Комната') room_bool = models.BooleanField(default=True, verbose_name='Релевантность') category = models.CharField(max_length=150, verbose_name='Категория') price = models.IntegerField(verbose_name='Цена (сум)', null=True) def __str__(self): return f'{self.room_num}' class Meta: verbose_name = 'Комнату' verbose_name_plural = 'Комнаты' class Registration(models.Model): objects = None rooms = models.ForeignKey(Rooms, on_delete=models.CASCADE, verbose_name='Номер', help_text='Номер в который хотите заселить гостя!', ) first_name = models.CharField(max_length=150, verbose_name='Имя') last_name = models.CharField(max_length=150, verbose_name='Фамилия') admin = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Администратор') pasport_serial_num = models.CharField(max_length=100, verbose_name='Серия паспорта', help_text='*AB-0123456') birth_date = models.DateField(verbose_name='Дата рождения') img = models.FileField(verbose_name='Фото документа', help_text='Загружайте файл в формате .pdf') visit_date = models.DateField( default=django.utils.timezone.localdate, verbose_name='Дата прибытия') leave_date = models.DateField(blank=True, null=True, verbose_name='Дата отбытия', default='После ухода!') guest_count = models.IntegerField(default=1, verbose_name='Кол-во людей') room_bool = models.BooleanField(default=False, verbose_name='Релевантность', help_text='При бронирование отключите галочку') price = models.IntegerField(verbose_name='Цена (сум)', null=True) def __str__(self): return f'{self.rooms},{self.last_name},{self.first_name},{self.room_bool}' class Meta: verbose_name = 'Номер' verbose_name_plural = 'Регистрация' how can I make it so that the name of the user who registered nomautofdn is indicated in the admin field and without the right to change only readonly? can this be done at all? thanks in advance for your reply -
django social all auth - multiple user type
I have two Registration pages: Register as Buyer, Register as Seller. on both Pages , I've included Normal Registration and social authentication using Google and Facebook. I've added social authentication using Django all-auth, but cannot get user_role. [1][Registration Page]: after Registration : user is redirected to home page and as there is no user_role set in social authentication , one cannot access Buyer or Seller 's section. [2][Signup with Google]: After signup : User is registered as Blank Login. check home page after Google signup: MY TASK : Is to assign user_type on both the buttons: Buyer and Seller. on click button redirect user to its particular Registration Page and Login/Signup with Social Authentication and after Successful-Login Redirect User to its Page and show user_type in Django-administration-panel as: User_type: Buyer; Email:test1234@gmail.com; is_active: True -
One app in Django is enough for whole website?
I'm new to Django framework and currently working on an ecommerce website. Not sure what would be better, when creating new project and new app in Django, does a single app is enough and fine for whole website functionally(all HTML pages, user login/registration etc) or should I use separate apps in my project? -
I want to give users ten coins each time they fill out one form
I want to give users ten coins each time they fill out one form , so i tried this code above and show this error TypeError at /profile unsupported operand type(s) for +=: 'DeferredAttribute' and 'int' error in views.py in line += 10 models.py class User(AbstractUser): user_pic = models.ImageField(upload_to='img/',default="",null=True, blank=True) coins = models.IntegerField(default=100) def gives_user_coins_after_create(sender, instance, created, **kwargs): if created: profile = instance.User.profile profile.coins += 10 profile.save() views.py @login_required(login_url='accounts/login/') def profile(request): # Gives the user 10 coins for fill up one form profile = get_user_model() profile.coins += 10 profile.save() return render(request,'account/profile.html') i tried many code but nothing work , any idea or help please -
Listen on given path using python
I am new to python basically i work in Infra. To test one of AWS service i have written below python code which listen "/ping" GET method and "/invocations" POST method. from flask import Flask, Response app = Flask(__name__) @app.route("/ping",methods=["GET"]) def ping(): return Response(response="ping endpoint", status=200) @app.route("/invocations",methods=["POST"]) def predict(): return Response(response="invocation endpoint here", status=200) if __name__ == "__main__": print("Traninig started") app.run(host="localhost", port=8080) This code works fine but Flask give warning like "Dont use in production". So i was looking to do the same in Django but not able to find appropriate ways to achieve this.Not sure what i am trying to do is even doable but i hope i made it clear what i am trying to do. -
How to print output of Python script on webpage
I want to print the output of pytchat module to my website import pytchat chat = pytchat.create(video_id="uIx8l2xlYVY") while chat.is_alive(): for c in chat.get().sync_items(): print(f"{c.datetime} [{c.author.name}]- {c.message}") See this image On side by side of embedded YouTube video I want to show live chat in the box how can How can I add this output to my website. -
how to use Exists and OuterRef in prefetch_related in Django?
I have 3 models and I need to display the area and need items only if there is at least 1 product connected. If there are no products in particular Area and Need models then it should not appear in my HTML file. I have checked the documentation and several answers related to this topic but I cannot implement it in my script. I also tried to create my custom filter so I can apply it directly in my template but nothing worked. My problem is that I am getting the list of all items from Need model and I don't know how to exclude empty items from HTML page. I will appreciate any help. models.py class Area(models.Model): title = models.CharField(max_length=75, blank=False) body = models.CharField(max_length=150, default='-', blank=False) publish = models.DateTimeField('publish', default=timezone.now) class Need(models.Model): title = models.CharField(max_length=75, blank=False, null=False, help_text='max 75 characters') body = models.CharField(max_length=150, default='-', blank=False) publish = models.DateTimeField(default=timezone.now) need_area = models.ForeignKey(Area, on_delete=models.CASCADE, related_name='need_area') class ProductCategory(models.Model): title = models.CharField(max_length=400, blank=False, null=False, help_text='max 400 characters') body = models.TextField(default='-') publish = models.DateTimeField('publish', default=timezone.now) category_area = models.ForeignKey(Area, on_delete=models.CASCADE, related_name='category_area', null=True) category_need = models.ForeignKey(Need, on_delete=models.CASCADE, related_name='category_need', null=True) class Product(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=400, blank=False) category = models.ForeignKey(ProductCategory, on_delete = models.CASCADE, blank=True, related_name='products') … -
Django Detail view Mixin forms post method saving incorrectly
Blog detail page posting comment not saving correctly using django forms, What is the problem? I also searched about that problem but couldn't get problem Models.py file class BlogPost(models.Model): category = models.ForeignKey(Cateqory, related_name='category_id', on_delete=models.CASCADE) blog_image = models.ImageField('blog content backqround image', upload_to='img/') autor_avatar=models.ImageField('autor avatar', upload_to='img/') title = models.CharField('title',max_length=100,db_index=True) slug = models.SlugField(max_length=70,editable=False, db_index=True) content = models.TextField('content') autor_full_name = models.CharField('ful name',max_length=100) created_at =models.DateTimeField('createt_at',auto_now=True) def __str__(self): return self.title def get_absolute_url(self): return reverse_lazy('blog_detail', kwargs={ 'slug':self.slug }) class Comment(models.Model): blog = models.ForeignKey(BlogPost, related_name='blog_id', on_delete=models.CASCADE) user_fullname = models.CharField('full name',max_length=100) content = models.TextField('content') created_at =models.DateTimeField('created_at',uto_now=True) email = models.EmailField(max_length=70, default=None) def __str__(self): return (self.user_fullname) Views.py file class PostDetailView(DetailView, CreateView): template_name = 'blog-detail.html' model = BlogPost form_class = CommentForm def get_success_url(self): return reverse("blog-detail", kwargs={"slug": self.object.slug}) def get_context_data(self, *args, **kwargs): context = super(PostDetailView, self).get_context_data(*args, **kwargs) post = BlogPost.objects.get(slug=self.kwargs['slug']) comments = Comment.objects.filter(blog_id=post) context["blog"] = post context["comment"] = comments context['form'] = CommentForm() return context def post(self, request, *args, **kwargs): self.object = self.get_object() form = self.get_form() if form.is_valid(): return self.form_valid(form) else: return self.form_invalid(form) def form_valid(self, form): return super().form_valid(form) when using Formview overwriting form_valid method like that works as expected, but I do not know what is the problem: def form_valid(self, form): new_comment = form.save(commit=False) new_comment.blog = self.get_object() new_comment.save() return super().form_valid(form) -
Django send_mail IntegrityError at /django-store-account/register/ - AWS ElasticBeanstalk
I deployed my aplication on AWS ElasticBeanstalk with https(SSL) and I want to send an verification e-mail to new registred accounts with send_mail but im getting the error that is in the title, I didn't configured environ or any other thing, all the code is below, my gmail is configured for less secure apps too settings.py: if DEBUG: EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_HOST_USER = 'pleaeseSomebodyHireMeIWillBeTheHardestWorker@gmail.com' EMAIL_HOST_PASSWORD = 'mypassword bla bla bla' # important else: EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' activate page: {% autoescape off %} Hi {{ user.user_name }}, Sua conta foi registrada com https:/{{ jamelaumn.com }}{% url 'account:activate' uidb64=uid token=token %} {% endautoescape %} views.py def account_register(request): if request.user.is_authenticated: return redirect('account:dashboard') if request.method == 'POST': registerForm = RegistrationForm(request.POST) if registerForm.is_valid(): user = registerForm.save(commit=False) user.email = registerForm.cleaned_data['email'] user.set_password(registerForm.cleaned_data['password']) user.is_active = False email_to = user.email user.save() email_subject = 'Ative sua conta' current_site = get_current_site(request) message = render_to_string('account/registration/account_activation_email.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(user.pk)), 'token': account_activation_token.make_token(user), }) html_message = "<br> oi </br>" email_body = message send_mail(subject=email_subject, message=email_body, from_email=settings.EMAIL_HOST_USER, recipient_list=[ email_to], html_message=html_message) email = EmailMessage( email_subject, email_body, settings.EMAIL_HOST_USER, [email_to]) email.send() return HttpResponse('registered succesfully and activation sent') else: registerForm = RegistrationForm() return render(request, 'account/registration/register.html', {'form': registerForm}) def account_activate(request, uidb64, token): … -
Multi select checkbox doesnt work creating object in django
I have a app where people can declare things, within a decla they can say who was present so they have to pay, only its not working. The edit function works but the fileDecla doesn't. The part that doensn't work is the present people. When i print the people present (via print(request.POST))before i save the decla it gives all the people selected but then it doesnt save them, and when i print(decla.present) i get --> None.(it should be all the people present. Does someone know a solution to this? models.py class Decla(models.Model): owner = models.ForeignKey(Lid, on_delete=models.CASCADE) event = models.ForeignKey(Event, on_delete=models.SET_NULL, null=True, blank=True) content = models.TextField(max_length=50) total = models.FloatField() present = models.ManyToManyField(Lid, related_name="present_leden") receipt = models.ImageField( upload_to="declas/", null=True, blank=True ) ## this will need to be put back to nothing when it ends verwerkt = models.BooleanField(default=False) views.py @login_required(login_url="login") def fileDecla(request): form = DeclaForm() if request.method == "POST": print(1, request.POST) form = DeclaForm(request.POST, request.FILES) if form.is_valid(): # print(form) decla = form.save(commit=False) decla.owner = request.user.lid # i tried this line bellow but it didnt work # decla.present.set(request.POST["present"]) decla.save() messages.info(request, "Decla was created") return redirect("agenda") context = { "form": form, "stand": Stand.objects.get(owner_id=request.user.lid.id).amount, } return render(request, "finance/decla_form.html", context) @login_required(login_url="login") def editDecla(request, pk): decla = Decla.objects.get(id=pk) … -
django.core.exceptions.ImproperlyConfigured: blog.apps.BlogConfig.default_auto_field 'db.models.BigAutoField' that could not be imported
I am following the Django project and I'm into creating class models for my database section for those who know, and my system can't seem to runserver anymore, i'm encountering the following error: Django.core.exceptions.ImproperlyConfigured: blog.apps.BlogConfig.default_auto_field refers to the module 'db.models.BigAutoField' that could not be imported. Initially, I thought it was my Django version, but I pip freeze and saw version 4.0.4 Model.py from django.db import models from django.utils import timezone from django.contrib.auth.models import User # Create your models here. class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() post_posted = models.DateTimeField(default = timezone.now) author = models.ForeignKey(User, on_delete=models.CASCADE) -
Django admin - prevent changing a field after it has become true
i have model in admin.py: class OrderAdmin(admin.ModelAdmin): list_display = ('org_name', 'address', 'total_cost', 'phone', 'data_time', 'is_called', 'is_payed') search_fields = ('org_name', 'phone') list_filter = ('data_time', 'total_cost', 'data_time') list_editable = ('is_called', 'is_payed') readonly_fields = ('data_time', 'user', 'total_cost') inlines = [OrderItemsAdmin, ] I need to do something like: class OrderAdmin(admin.ModelAdmin): list_display = ('org_name', 'address', 'total_cost', 'phone', 'data_time', 'is_called', 'is_payed') search_fields = ('org_name', 'phone') list_filter = ('data_time', 'total_cost', 'data_time') list_editable = ('is_called', 'is_payed') readonly_fields = ('data_time', 'user', 'total_cost') inlines = [OrderItemsAdmin, ] if 'is_called' == True: readonly_fields.append('is_called') i think that it's possible, so the question is how to do that?