Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Custom Django Allauth Forms Not Being Stored in Database
I'm trying to extend Django Allauth's signup form to contain additional fields. These fields show up fine in my form but they do not store the submitted data in the database. I have tried following solutions here and here to no avail. forms.py: from allauth.account.forms import SignupForm from django import forms from .models import User from django.forms.widgets import NumberInput import datetime class CustomSignupForm(SignupForm): age = forms.CharField(max_length=30, label='Age') date_of_birth = forms.DateField(widget = NumberInput(attrs={'type':'date'})) def save(self, request): user = super(CustomSignupForm, self).save(request) user.age = self.cleaned_data['age'] user.date_joined = datetime.datetime.now() user.date_of_birth = self.cleaned_data['date_of_birth'] user.save() return user models.py: from django.db import models # Create your models here. class User(models.Model): age = models.PositiveSmallIntegerField() date_of_birth = models.DateField() date_joined = models.DateField() def __str__(self): return self.name settings.py: AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ] SITE_ID = 1 ACCOUNT_AUTHENTICATION_METHOD = 'email' ACCOUNT_EMAIL_REQUIRED=True ACCOUNT_EMAIL_VERIFICATION='mandatory' ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS = False ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 3 EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' LOGIN_REDIRECT_URL = '/' ACCOUNT_FORMS = { 'signup': 'core.forms.CustomSignupForm', } Somewhere mentioned having: AUTH_USER_MODELS = 'myproject.User' however this throws up an error about User having no required fields. I don't understand where i'm going wrong. Surely I don't need to create a different user object and link it to the same authenticated user? There must be a simpler way. Any help … -
How to add datetime condition in django html file and how to use parentheses
I'm using Django, and there is an 'add' button inside the html file. I want to hide this button from users from Friday 1pm to Sunday. The condition is added as follows, but parentheses cannot be used in the if statement. Any other solution? Help me! [views.py] from datetime import datetime, timedelta, date def supporting(request): today = datetime.today() return render(request, 'supporting.html', {'today': today}) [supporting.html] {% if (today.weekday == 4 and today.hour > 13) or today.weekday >= 5 %} <button type="button">Add</button> {% endif %} -
download contents , such as Audios, files and pdf from the same page
pls am building a project which will have a part where any user can download contents from the Site , such as Audios, files and pdf from the same page but when a user loads the page , the download only happens once , when he/she tries to click another download button , nothing happens , pls what can be the issue this is models.py class FellowshipFile(models.Model): Fileupload1= models.FileField(upload_to = 'media' , blank = True) Title= models.CharField(max_length = 100, blank = True) def __str__(self): return str(self.Title) class EBook(models.Model): Fileupload2 = models.FileField(upload_to = 'media', blank = True ) ebook_Title = models.CharField(max_length = 100,blank = True ) eBook_image= models.ImageField(upload_to='assets', blank = True) def __str__(self): return str(self.ebook_Title) class AudioMessage(models.Model): title= models.CharField(max_length=200) Fileupload3= models.FileField(upload_to = 'media' ,blank = True) def __str__(self): return str(self.title) this is my views.py def resources_view(request): queryset_1= FellowshipFile.objects.all() queryset_2= AudioMessage.objects.all() queryset_3= EBook.objects.all() queryset_4= Header.objects.all() queryset_5= DailyGuide.objects.all() context = { "File_list": queryset_1, "Audio_list": queryset_2, "Ebook_list": queryset_3, "headers":queryset_4, "dailyguide":queryset_5, } return render(request, "Resources.html", context) and my template (resources.html) <ul class="list-group-flush p-0"> {% for Ebook in Ebook_list %} <li class="list-group-item d-flex justify-content-between align-items-center"> <div class="ms-2 "> <div class="fw-bold text-success"> {{Ebook.ebook_Title }}</div> <a href="{{ Ebook.Fileupload2.url }}" class=" text-decoration-none text-warning" download >download</a> </div> <div class="ms-auto w-25"> … -
Django Using TabularInline in Admin Panel
I'm making a django app. It has multiple tests with multiple quesiton each. every question has an answer. models.py class Test(models.Model): name = models.CharField(max_length=200) author = models.ForeignKey(User, on_delete=models.CASCADE, default=None, null=True, blank=True) date_posted = models.DateTimeField(auto_now_add = True) def get_questions(self): return self.question_set.all() def __str__(self): return self.name class Question(models.Model): text = models.CharField(max_length=200, null=True) test = models.ForeignKey(Test, on_delete=models.CASCADE) created = models.DateTimeField(auto_now_add = True) def get_answer(self): return self.answer_set.all() def __str__(self): return self.text class Answer(models.Model): text = models.CharField(max_length=200) question = models.ForeignKey(Question, on_delete=models.CASCADE, related_name='parent') def __str__(self): return self.text I'd like to be able to manage whole test (making/changing questions and answers) from one django admin "view". I tried to do this like that: admin.py class QuestionInline(admin.TabularInline): model = Question class TestAdmin(admin.ModelAdmin): inlines = [ QuestionInline, ] admin.site.register(Test, TestAdmin) but it only allows me to change/add test's questions. what should I change/add to be able to manage whole test - including answers managing system from one page ? ofc I can do it by making another admin page: class AnswerInline(admin.TabularInline): model = Answer class QuestionAdmin(admin.ModelAdmin): inlines = [ AnswerInline, ] admin.site.register(Question, QuestionAdmin) But i would like to do it from only one page -
Django - assign a single record from a queryset to a user and update it. Only releasing the record to another user if the transaction fails
I'm a Django beginner and I'm trying to create a warehouse management system in Django. The system keeps track of what products enters the warehouse and therefore knows what is in the warehouse and at which location. There are several users (order pickers) who are logged in simultaneously and who have to get the products from the warehouse. My model looks like this: class Product(models.Model): location = models.IntegerField(validators=[MinValueValidator(1),MaxValueValidator(5000)]) already_picked = models.BooleanField(default=False, blank=True) available_for_picking = models.DateField(blank=True, null=True) def __str__(self): return str(self.id) The products that have to be picked from the warehouse on a certain day must meet a number of conditions. For instance: available_for_picking = today or date in the past AND aldready_picked = False What I want to do: Every user goes to the url: www.mydomain.com/get_order_location_to_pick and gets a location of a product that he has to pick up from the warehouse. However, there are several products that meet the selection criteria and there are several users who use the software at the same time. So I want to avoid assigning the same product (and location) to more than 1 user. When the user has taken the product, boolean "already_picked" should be changed from False to True. If the user … -
Parse multipart/form-data in Python
I'm trying to parse an incoming multipart/form-data request sent to a Django python server. I WILL NOT use Django REST server - it shouldn't be necessary to import an entire library on top of another library to parse a multipart form. The request is coming in from a React post request on the front end like the following - const createUploadForm = () => { console.log('value of uploadFile: ', uploadfile) var formData = new FormData(); formData.append("image", uploadfile) const obj = {title: postcomment.title, content: postcomment.content} const json = JSON.stringify(obj); const blob = new Blob([json], { type: 'application/json' }); formData.append("document", blob); return formData } useEffect(()=>{ var formdata = createUploadForm() if(postcomment.submit){ // axios.post( // "http://localhost:8000/lightone/comment/1/", // {title: postcomment.title, content: postcomment.content} // ) axios({ method: 'post', url: "http://localhost:8000/lightone/comment/1/", data: formdata }) How do I parse this into a json object and a file that I can save? -
How to serialize an already existing image to save in a models.ImageField param?
I want to create Note object which one of the fields of the model is an ImageField using Django Rest Framework. I can already create objects and update all different fields using my API, except for images. My code: models.py class Note(OwnedModel): note_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) # note_owner = models.ForeignKey(, null=True, blank=True, on_delete=models.SET_NULL) note_name = models.CharField(max_length=50) body = models.TextField() updated = models.DateTimeField(auto_now=True) created = models.DateTimeField(auto_now_add=True) qr_image = models.ImageField(upload_to='notes', null=True) def __str__(self): return self.note_name[0:50] class Meta: ordering = ['-updated'] views.py @api_view(['GET', 'POST']) def getNote(request, pk=None): if request.method == 'GET': note = Note.objects.get(note_id=pk) serializer = NoteSerializer(note, many=False) return Response(serializer.data) elif request.method == 'POST': _data = request.data.copy() owner = request.user.id _data["owner"] = owner # Generate QR code qr_image = generate_qr(_data["note_name"]) # HOW TO PASS THE IMAGE TO THE SERIALIZER? _data["qr_image"] = qr_image # _data["qr_image"] = qr_image[0] # _data["qr_image"] = qr_image[1] serializer = NoteSerializer(data=_data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(status=status.HTTP_400_BAD_REQUEST) serializers.py class NoteSerializer(ModelSerializer): class Meta: model = Note fields = '__all__' qr_code.py import qrcode def generate_qr(qr_file_name=None): qr = qrcode.QRCode( version=1, # error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=4, border=3, ) qr.add_data(qr_file_name) qr.make(fit=True) img = qr.make_image() # img = qr.make_image(fill_color="black", back_color="white") path='images/notes/'+str(qr_file_name)+'.jpg' img.save(path) return path, img The QR code is properly generated and saved in the upload … -
How to use Date Range Picker to filter dates and display a listing in Django?
I have a doubt, what happens is that I have a list in Django and I want to use daterange, what I need is to place two dates and that fecha_registro (it is in models.py) filter the information in the same template, I only used this: index.html <input type="text" name="daterange" value="12/01/2021 - 12/31/2021" class="form-control"/> base.html $(function() { $('input[name="daterange"]').daterangepicker({ opens: 'left' }, function(start, end, label) { console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD')); }); }); models.py class Clientes(models.Model): nombre = models.CharField(max_length=200) apellido = models.CharField(max_length=200) fecha_registro = models.DateTimeField(default=datetime.now) def __str__(self): return f'{self.nombre} {self.apellido}' views.py class list_clientes(ListView): model=Clientes template_name = 'Clientes/clientes-list.html' context_object_name='clientes' queryset=Clientes.objects.all() -
django - can't display images at admin
I have the following problem: When I'm trying to upload an image at the admin panel Fig. 1 and then try to see it I get this error Fig 2 Settings.py: DEBUG = True STATIC_URL = '/static/' MEDIA_URL = '/media/' MEDIA_ROOT = BASE_DIR / 'media' portfolio/models.py: from django.db import models from django.db.models.fields import CharField, URLField from django.db.models.fields.files import ImageField class Project(models.Model): title = CharField(max_length=100) description = CharField(max_length=250) image = ImageField(upload_to="portfolio/images") url = URLField(blank=True) portfolio/admin.py: from django.contrib import admin from .models import Project admin.site.register(Project) my_app/urls.py from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ] Thanks :) and sorry for my cool english -
Django admin: redirect back to View site page on " save " button from upload file Module
I am newbie on Django Admin. I have Django Admin for login as well as file upload Module. I can able to redirect from my main page where I have costume button for "Upload File" to Django File add page. that looks like . now I want to redirect back to view site page where my "Upload File " button is on click on "Save" button on Django Admin. where to write my redirect code? My admin.py looks like. ''' @admin.register(RadioFile) class RadioFileAdmin(admin.ModelAdmin): list_display = [ 'id', 'audio_file', 'category', 'uploaded_by', 'uploaded_at', 'trending', ] list_filter = [ 'trending', 'uploaded_by', 'uploaded_at', ] search_fields = [ 'id', 'category', ] exclude = ['uploaded_by',] def save_model(self, request, obj, form, change): obj.uploaded_by = request.user super().save_model(request, obj, form, change) ''' and my Views.py ''' @login_required(login_url="/login/") def radio_files(request): context = { 'segment': 'radio', 'categories': Category.objects.all(), 'radio_files': RadioFile.objects.all(), } html_template = loader.get_template('radio_files.html') return HttpResponse(html_template.render(context, request)) ''' [1]: https://i.stack.imgur.com/pJFIa.png Thank you in advance. -
Filtering many2many django rest framework
I have an entity model, and i want to list all the instances of Entity based on the id of a category instance in it. So basically i'd like to list all the Entity instances with category id of 1 with /specialists/category/1 but for some reason i get Not Found: /api/v1/specialists/categories/1 Even though the code looks alright. class Entity(models.Model): entity_category = models.ManyToManyField(Category) class SpecialistSerializer(serializers.ModelSerializer): entity_category = SpecialistCategorySerializer(read_only=True, many=True) class Meta: model = Entity fields = (....., entity_category) class SpecialistsPerCategory(generics.ListAPIView): serializer_class = SpecialistSerializer def get_queryset(self): category_id = self.kwargs['pk'] return Entity.objects.filter(entity_category=category_id, lookup_type='in') path('specialists/category/<int:pk>', SpecialistsPerCategory.as_view()), Do you have any idea what's wrong? -
disable post button after clicked [duplicate]
(new to js) I am having an issue where the user can click the submit button multiple times and the post gets posted multiple times. To fix this I found this JavaScript that is supposed to disable the post button after it is clicked. However when the button is click the post request is not sent and nothing happens. How can I still submit the form but disable the button after the click <form method="post" enctype="multipart/form-data" id="PostForm" data-models-url="{% url 'ajax' %}" novalidate> <!--id="modelForm"--> {% csrf_token %} <fieldset class="django-ckeditor-widget"> <legend class="border-bottom mb-4">New Car</legend> {{ postForm.stuff}} ..... </fieldset> <div class="form-group"> <button id="submit-btn" class="action-btn" type="submit">Post</button> </div> </form> <script type="text/javascript"> document.getElementById("PostForm").addEventListener("submit", function (event) { event.preventDefault(); }); </script> -
Timer is stoping |Django
I've got problem 'cause I created site in django which has chatrooms and thoose chatrooms should be deleted after 300 seconds and my problem is that it sometimes work fine but sometimes timer is freezing and not working. views.py: from django.shortcuts import render, redirect from .models import ChatRoom, Message, Time import random, time from .forms import MessageForm from threading import Thread from django.core.mail import send_mail import datetime def Odliczanie(timer,c): t = int(timer.time) while t > 0: t -= 1 timer.time = str(t) timer.save() time.sleep(1) c.delete() def Create(request): if request.method == 'POST': code = random.randrange(1, 10_000_000_000) if request.POST.get("private") == "clicked": privatecheck = True else: privatecheck = False c = ChatRoom(name = str(code), isprivate = privatecheck) c.save() t = c.time_set.create(time = 300) Thread(target=Odliczanie, args=(t,c)).start() return HttpResponseRedirect('/%i' %int(c.name)) return render(request, 'main/create.html',{}) models.py: import random class ChatRoom(models.Model): name = models.CharField(max_length=10_000_000_000) isprivate = models.BooleanField(default = False) def __str__(self): return self.name class Message(models.Model): ChatRoom = models.ForeignKey(ChatRoom, on_delete=models.CASCADE) text = models.CharField(max_length=500) liked = models.BooleanField(default = False) author = models.CharField(max_length= 50, null=True) def __str__(self): return self.text class Time(models.Model): ChatRoom = models.ForeignKey(ChatRoom, on_delete=models.CASCADE) time = models.CharField(max_length = 4) I deleted some code in views.py which isn't related to problem -
How do I create a custom format in Django for the following: YYYY-NNNN, where YYYY represents the year and NNNN represents a 4 digit numeric value
I been trying to find ways to create a custom format for a value input for a model. I can't seem to find the adequate way to create a a year then 4 digit number after the slash. I would really appreciate if you could help. -
How would you add a crsf token inside the html
form="<form action='addAppointment/' method='POST' enctype='multipart/form-data'><button type='submit'>Book now</button></form>" I am currently adding the form element to a page through html the goal of this is to book an appointment. How would I go about adding the crsf_token into this or use button instead. {% csrf_token %} Traceback Forbidden (403) CSRF verification failed. Request aborted. Help Reason given for failure: CSRF token missing or incorrect. -
Filter data of a JavaScript chart by date range - Django Project
I want to create a Javascript chart with a date selector in my Django project like this example: https://plotlydash.com/pie-chart-with-drop-down-list-and-date-picker-range-in-plotly-dash/ I've already created a date selector input in my chart.html file, which allows me to append the input date value to URL when I click "generate report". (For example: it will append: ?start=2022-02-02&end=2022-02-24). I was also able to call these two dates by {{request.GET.start}} and {{request.GET.start}} in my HTML. My chart data is based on a list of dictionaries, which is defined in views.py: I count the number of records with Mike, Jane and Jack. mylist= [{'Date': '2021-10-02', 'ID': 11773, 'Receiver': Mike}, {'Date': '2021-10-02', 'ID': 15673, 'Receiver': Jane}, {'Date': '2021-10-03', 'ID': 11773, 'Receiver': Mike}, ... {'Date': '2021-12-25', 'ID': 34653, 'Receiver': Jack}] mike=len(tuple(d for d in mylist if d['Receiver'] == 'Mike')) jane=len(tuple(d for d in mylist if d['Receiver'] == 'Jane')) jack=len(tuple(d for d in mylist if d['Receiver'] == 'Jack')) count = [mike, jane, jack] My JavaScript chart: <!-- pie Chart --> <div class="col-xl-4 col-lg-4"> <div class="card shadow mb-4"> <div class="card-header py-3 d-flex flex-row align-items-center justify-content-between"> <h6 class="m-0 font-weight-bold">Team Chart ({{request.GET.start}} - {{request.GET.end}} )</h6> </div> <!-- Card Body --> <div class="card-body"> <div class="chart-area"> <canvas id="myPieChart"></canvas> <script> var ctx = document.getElementById("myPieChart"); var startDate = … -
"<Post:>" needs to have a value for field "id" before this many-to-many relationship can be used
When i'm trying to add a Post through django admin i get an error that the Post im trying to add needs to have a value for field id. Do you have any idea why? now = datetime.now() class Category(models.Model): name = models.CharField(max_length=200) slug = models.SlugField(unique=True) class Meta: verbose_name_plural = "categories" def __str__(self): return self.name class Post(models.Model): title = models.CharField(max_length=100) excerpt = models.CharField(max_length=200) main_image = models.ImageField() author = models.ForeignKey(users.models.CustomUser, on_delete=models.CASCADE, related_name='blog_posts', null=True) content = models.TextField(null=True) created_at = models.DateTimeField(editable=False) updated_at = models.DateTimeField(editable=False) category = models.ManyToManyField(Category, related_name='post_category') class Meta: ordering = ['-created_at'] def save(self, *args, **kwargs): if not self.id: self.created_at = now self.updated_at = now def __str__(self): return self.title -
Can't import google api modules in python (vs code)
i'm wondering why i can't import the following modules: I'm using django with a virtual environment to create a web app. I can access to venv with a command pipenv shell but even though the google-api files are in pip freeze folder i still can't manage to use them. I've installed google-api with this pip command: pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib -
Error running WSGI application: ModuleNotFoundError: No module named '_overlapped'
I stuck on this problem. I don't know what should I do. My error throws an error about WSGI. When I saw Error Log, it is working with my local server but getting problem on live 2022-02-23 18:47:32,893: Error running WSGI application 2022-02-23 18:47:32,910: ModuleNotFoundError: No module named '_overlapped' 2022-02-23 18:47:32,910: File "/var/www/lrnglobal_pythonanywhere_com_wsgi.py", line 17, in <module> 2022-02-23 18:47:32,910: application = get_wsgi_application() 2022-02-23 18:47:32,910: 2022-02-23 18:47:32,910: File "/home/lrnglobal/.virtualenvs/mysite-virtualenv/lib/python3.9/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application 2022-02-23 18:47:32,910: django.setup(set_prefix=False) 2022-02-23 18:47:32,910: 2022-02-23 18:47:32,910: File "/home/lrnglobal/.virtualenvs/mysite-virtualenv/lib/python3.9/site-packages/django/__init__.py", line 24, in setup 2022-02-23 18:47:32,910: apps.populate(settings.INSTALLED_APPS) 2022-02-23 18:47:32,911: 2022-02-23 18:47:32,911: File "/home/lrnglobal/.virtualenvs/mysite-virtualenv/lib/python3.9/site-packages/django/apps/registry.py", line 114, in populate 2022-02-23 18:47:32,911: app_config.import_models() 2022-02-23 18:47:32,911: 2022-02-23 18:47:32,911: File "/home/lrnglobal/.virtualenvs/mysite-virtualenv/lib/python3.9/site-packages/django/apps/config.py", line 301, in import_models 2022-02-23 18:47:32,911: self.models_module = import_module(models_module_name) 2022-02-23 18:47:32,911: 2022-02-23 18:47:32,911: File "/home/lrnglobal/portal/lrnadmin/models.py", line 1, in <module> 2022-02-23 18:47:32,911: from asyncio.windows_events import NULL 2022-02-23 18:47:32,911: 2022-02-23 18:47:32,911: File "/usr/local/lib/python3.9/asyncio/windows_events.py", line 3, in <module> 2022-02-23 18:47:32,911: import _overlapped 2022-02-23 18:47:32,911: *************************************************** 2022-02-23 18:47:32,912: If you're seeing an import error and don't know why, 2022-02-23 18:47:32,912: we have a dedicated help page to help you debug: 2022-02-23 18:47:32,912: https://help.pythonanywhere.com/pages/DebuggingImportError/ 2022-02-23 18:47:32,912: this is my working directory and this is my wsgi file it seems correct import os import sys path = '/home/lrnglobal/portal' if … -
How to add a simple navbar to all my pages?
I'm trying to create a taking notes app in Django framework. I just want to add a simple navigation bar between homepage, adding notes and administration notes. My question is? Where do i locate my html file with the navbar? And how the code should look like? So far i have the following configuration where index.html represents the file for the navbar. I also tried to include the navbar notes_app folder near the other 3 html file, but that does not work. Also,my code for my navbar looks like: <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <title>Hello, world!</title> </head> <body> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <div class="container-fluid"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavAltMarkup"> <div class="navbar-nav"> <a class="nav-link" href="/notes_app">Homepage</a> <a class="nav-link" href="/notes_app/adaugare">Adaugare</a> <a class="nav-link" href="/notes_app/administrare">Administrare</a> </div> </div> </div> </nav> </body> </html> I want to mention that the language is in Romanian so the meanings for HTML files are: adaugare.html -> the page where i will add new notes adminstrare.html -> the page where i will edit the content of notes … -
How to write query nested subquery using Djnago ORM?
please help me to write something like this query using Django ORM: SELECT label from ( SELECT DISTINCT on (label) unnest("auditorial"."labels") AS "label" FROM "auditorial" ) as subQ WHERE upper(label) LIKE upper('%rec%') ORDER BY label If I have model like this: class Auditorial(models.Model): labels = ArrayField( models.CharField(max_length=64, blank=True) ) I need to provide "suggestions" into select input on website Thank you! -
Avoid changing the address while send GET request (django)
I have url http://127.0.0.1:8000/profile/question/1/ and on the address i have form i want to have like or dislike button on post. everything work fine but url change is the problem. it's my code- > def get_context_data(self, *args, **kwargs): self.object=self.get_object() context = super(QuestionDetail, self).get_context_data(**kwargs) if "like" or "dislike" in self.request.GET: if "like" in self.request.GET: if bool(Like.objects.filter(user=self.request.user, question=self.get_object())) == True: pass else: Like.objects.create(user=self.request.user, question=self.get_object()) elif "dislike" in self.request.GET: if bool(DisLike.objects.create(user=self.request.user, question=self.get_object())) == True: pass else: DisLike.objects.create(user=self.request.user, question=self.get_object()) try: question = Question.objects.get(id=self.kwargs["pk"]) context['detail'] = question except ObjectDoesNotExist: return reverse("Profile:error") <form class="float-right block"> <button type="submit" name="like" class="block mb-2"></button> <button type="submit" name="dislike" class="block"></button> </form> when i click for example like button, url changed and it's http://127.0.0.1:8000/profile/question/1/?like= how to avoid this problem? and what is the problem? thank you -
prevent multiple form submissions
I have been looking for a way to prevent users from clicking the submit button on a form multiple times resulting in the post being submitted multiple times. Most of the post I found on stack were at least 5 years old and they all offered different ways to solve the issue, there didn't appear to be a best practice method on how to remedy this issue. I took a quick look in the docs to see if they have added anything but I didn't see anything. In 2021 what is the best practice to prevent multiple form submissions. -
Expected view Equation1View to be called with a URL keyword argument named "pk"
I'm trying to get data directly from request body in json. Making calculations in API will be main part of my Django REST Api. In the future I'm going to add database from which I'll be getting some data that will be used in calculations. I'm having a problem with error AssertionError: Expected view Equation1View to be called with a URL keyword argument named "pk". Fix your URL conf, or set the 'lookup_field' attribute on the view correctly. I don't know where should I put the pk parameter. Using the api below I should be able to send {"name":"xxx", value:1.23} in request body and get {"emission":1.23} in json response. Ofcourse it will be more complicated in future as getting more data from request body and connecting it with data from db but now I have to make it simple. api urls.py: from .views import Equation1View from django.urls import path urlpatterns = [ path('equation/1', Equation1View.as_view()) #path('equation/2'), #path('equation/3'), ] views.py from aiohttp import request from rest_framework import generics from .serializers import EmissionSerializer, EquaSerializer # Create your views here. class Equation1View(generics.RetrieveAPIView): queryset = '' serializer_class = EquaSerializer(context={'request':request}) serializers.py from rest_framework import serializers class EquaSerializer(serializers.Serializer): emission = serializers.SerializerMethodField('perform_equation') def perform_equation(self): request = self.context.get("request") if … -
Bootstrap Modal close button does not close the modal
I am using the pypi.org boostrap modal as explain in the site. Everything work fines fine as expected but the problem is when I click a button for eg addFoo button and I decided to close the modal using either the close button or X button the modal does not close.