Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
where does user agent stylesheet come from?
basically, i have a html element i want to hide until i make a post request. to hide the element i used display:none; , but this is somehow being overiden by the user agent stylesheet. ive searched by whole html for the word "block" but it doesnt show up anywhere. i also have no external css everything is inline. Im hosting this page with djangos devserver... where is "display: block;" coming from? how do i stop it? below is a minimal reproducable example if what im doing. im trying to make my div element start hidden until a post request is made. <form action="http://localhost:8080" method="post" id = "mi_form"> <input type="submit" name="get prices" value="get prices" /> </form> <div id = "loader" style = "style= display:none; background:#000000; width:200px; height:200px; "> </div> <script type="text/javascript"> $("#mi_form").submit(function (e) { e.preventDefault(); // stops the default action $("#loader").show(); // shows the loading screen $.ajax({ url: test.php, type: "POST" success: function (returnhtml) { $("#loader").hide(); // hides loading sccreen in success call back } }); }); </script> -
Demo version of an existing project
We are currently faced with the task of making a demo of our project for clients with test data. We have the frontend in React and the backend in Django Rest Framework. One of the ideas that came to my mind is to use fixtures and return them in view, but there are a couple of problems such as: filtering, sorting, searching won't work... Another idea is to use a second database and multitenancy architecture to switch between databases in middleware for demo and regular users, but how to keep data up to date in next migrations? -
Generating invoice in django with Shiprocket API
I'm trying to generate invoice of my order in django with shiprocket API. So far I'm getting success Response but the generated URL of PDF is somewhat not understandable. #Response Im getting "{\"is_invoice_created\":true, \"invoice_url\":\"https:\/\/s3-ap-south-1.amazonaws.com\/kr-shipmultichannel-mum\/3116291\/invoices\/Retail000058ba9b309-c4bd-4c06-ba15-2cc76b7c5d1f.pdf\", \"not_created\":[],\"irn_no\":\"\"}" when I try to access above URL get - Access-Denied This XML file does not appear to have any style information associated with it. The document tree is shown below. <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>94ARWRYHGSBEZEH1</RequestId> <HostId>j32LvksmWatylm3TdFGYuJ1qvBwJ39Lj+qIbbQ3CC7AEcrgHnOYGd9fDocMeEwDD4GpzjXQLQhg=</HostId> </Error> This is the way I want the url to be https://s3-ap-south-1.amazonaws.com/kr-shipmultichannel-mum/3116291/invoices/Retail000058ba9b309-c4bd-4c06-ba15-2cc76b7c5d1f.pdf When I remove the slashed I get in Response I'm able to download the PDF and that's done manually. So how do I get working URL. #Views.py class GenerateInvoice(APIView): def post(self, request): order_id = request.query_params.get("ids", None) print(order_id) data = json.dumps({"ids": [order_id]}) headers = { "Content-Type": "application/json", "Authorization": settings.SHIPROCKET_TOKEN, } url = "https://apiv2.shiprocket.in/v1/external/orders/print/invoice" response = requests.post(url=url, data=data, headers=headers) return Response(response) -
TypeError: contactApi() got an unexpected keyword argument 'id' [closed]
views.pyurls.py I need a output for "GET by details by id and enter the details by 'PUT' method -
How to pass kwargs from different view classes without redundancy?
As of now I have 5+ views that are implementing get_context_data to pass a title to the respective template. ex: class SignUpView(FormView): def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data.update({'form_title': 'Sign up'}) return data class SignInView(LoginView): template_name = 'center-form.html' def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data.update({'form_title': 'Sign in'}) return data Each is passing form_title to template which in turn sets the main template title accordingly. <head> <meta charset="utf-8"> <title>{{ form_title }}</title> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> </head> Is there a better way to achieve the same thing without this redundancy? -
Django DeletionMixin and BaseDetailView causes a strange error with Mypy 0.991
So I have a very simple Django view that basically deletes a user account: class UserDeleteView(LoginRequiredMixin, SuccessMessageMixin, DeleteView): success_message = _("Your account has been deleted") success_url = reverse_lazy('account_logout') def get_object(self): return self.request.user After upgrading to Mypy 0.991 I am seeing this error: error: Definition of "object" in base class "DeletionMixin" is incompatible with definition in base class "BaseDetailView" [misc] For the life of me I can't figure out what this means, any help would be much appreciated. Thank you -
Add values from a dictionary to a ManytoMany field
class GuestOrder(models.Model): comment = models.CharField(max_length=400, blank=True, null=True) guest = models.ForeignKey(Guest, on_delete=models.SET_NULL, null=True) dish = models.ManyToManyField(Dish) ingredient = models.ManyToManyField(Ingredient) table = models.ForeignKey(Table, on_delete=models.CASCADE, blank=True, null=True) I have a queryset that returns 3 instances of GuestOrder. guest_orders = GuestOrder.objects.filter(table=table) <QuerySet [<GuestOrder: GuestOrder object (567)>, <GuestOrder: GuestOrder object (568)>, <GuestOrder: GuestOrder object (569)>]> and I have a dictionary where values are dish instances. { "guests":{ "23": [1, 2], "24": [2], "25": [3] } } How to set each of this values to a guestorder instance? -
Unsupported lookup 'unaccent' for CKEditor5 Field or join on the field not permitted
I am using CKEditor5 for my body field and trying to filter using unaccent like so Post.objects.filter(body__unaccent__icontains="text") but I get the error Unsupported lookup 'unaccent' for CKEditor5 Field or join on the field not permitted FYI, I did all the necessary configuration to be sure unaccent works perfectly. How do I know? I successfully executed Post.objects.filter(title__unaccent__icontains="text") where title is defined with CharField. My suggestion is that, unaccent didn't work for the first case because of CKEditor5. Is there a way to get this to work with this package? -
how to handle low capacity, multiple request update in django
In booking system, I have slot with capacity. now lets consider there is only 1 capacity is available and more two users are trying book the slot, at the same time. how I can handle this scenario? looking for any solutions from community. -
why django authenticate() always returns None to MySQL database? [closed]
i have MySQL database that is connected to my Django project, and i want to authenticate user using authenticate(), but the result of it always returning None. this is code of my django project: these forms uses 'User' model and its connected to MySQL 'loginView' handels login request and authenticate user and for password hashing problem, in MySQL database it's showed as plaintext password: password column in user_auth table even if i only authenticate username it still gives me None. -
form tags automatically closing
I am trying to validator with jsquery validator plugin. but it doesn't working. Now I found in chorme dev tools, tag is closed automatically! It seems to be related to the for loop in Django. Why does the form tags closed automatically? what's wrong with my script? In my .html codes, <div class="container-box"> <div> <table class="table table-striped tc"> <div style="float: right; padding: 1%"> <p style="width: 40%; float: left; font-weight: bold">Register for My rate :</p> <input type="text" style="border-radius: 5px; width: 30%; float: left" class="inputgroup form-control form-control-sm tc" placeholder="group" /> <button class="btn btn-outline-primary btn-sm sendgroup" style="float: right; width: 30%">Register</button> </div> <thead class="table"> <tr> <td>Origin</td> <td>Dest</td> <td>Name</td> <td>Cur</td> <td>Rate</td> <td>Unit</td> <td>ChargeAt</td> <td>Group</td> <td>U/D</td> </tr> </thead> <tbody class="tbody"> {% for i in info %} <form id="UpdateForm{{i.id}}"> <tr class="tr{{i.id}}"> <td><input type="text" value="{{i.origin}}" class="origin{{i.id}} tc form-control form-control-sm" disabled name="udtorigin" /></td> <td><input type="text" value="{{i.dest}}" class="dest{{i.id}} tc form-control form-control-sm" disabled name="udtdest" /></td> <td><input type="text" value="{{i.name}}" class="name{{i.id}} tc form-control form-control-sm" disabled name="udtname" /></td> <td> <select id="cur" class="cur{{i.id}} tc form-select form-select-sm" disabled name="udtcur"> <option value="{{i.cur}}">{{i.cur}}</option> <option value="====">====</option> <option value="USD">USD</option> <option value="KRW">KRW</option> </select> </td> <td><input type="text" value="{{i.rate}}" class="rate{{i.id}} tc form-control form-control-sm" disabled name="udtrate" /></td> <td> <select id="unit" class="unit{{i.id}} tc form-select form-select-sm" disabled name="udtunit"> <option value="{{i.unit}}">{{i.unit}}</option> <option value="====">====</option> <option value="R/TON">R/TON</option> <option value="BL">BL</option> … -
Adding to database from another database using button in django
I am creating a web application in which there is a lot of data displayed in tables. I wanted to create a platform where there are various documents, and in order to see them, the user has to send a request for access. Meaning it browses what documents are available and asks for access to see their details. Now I've run into a problem that I can't solve. I want to add data from one table to another without form. Only by clicking a button in a table row (this is the "request for access"). The data in that row would be added to another table. Unfortunately, when I click the button, nothing happens. I know I'm probably going about this the wrong way, but when no problem is displayed, the page reloads normally, I don't have any ideas how to solve it. I created models: class CourtFile(models.Model): court = models.ForeignKey(Court, on_delete=models.CASCADE, null=True) signature = models.CharField(max_length=200, null=True) article = models.CharField(max_length=200, null=True) contents_list = models.FileField(upload_to = "filepath", null=True) def __str__(self): return f'{self.court} - {self.signature}' class AccessRequest(models.Model): user = models.OneToOneField(User, null=True, on_delete=models.CASCADE) status = models.BooleanField(null=True) signature = models.ForeignKey(CourtFile, on_delete=models.CASCADE, null=True) def __str__(self): return f'{self.signature}' I am displaying the table like this: <tbody> … -
How to call multiple API and render the response of all those API in a template in django
I tried rendering the response of multiple API in a single template but since once one view can we passed in the path, i am unable to think of what i can do I tried keeping the two functions to call the API inside a class but i got GET 405 error -
Live Stream text to html tamplets from Django
i have a function at the backend in django that calculate and return frames speed of a video given to OpenCv.videoCapture() .the type of the speed is float . class video_feed(object): def __init__(self, pathVideo): self.cap = cv.VideoCapture(pathVideo) #some code ..... def __del__(self): self.cap.release() def get_frames(self): #some code ... return speed_list this method keep calling the method while the video is working : def gen_speed(video_feed): print('this is spped generation method') while True: speed = video_feed.get_frames() yield(speed) @gzip.gzip_page def speed_frame(request): try: pathVideo = "video_detection/statics/rl4_pb8-7.mp4" cam = model.video_feed(pathVideo) #return StreamingHttpResponse(model.gen_test(cam),content_type="text/csv") return HttpResponse({'speed':cam.get_frames()}) except: print("speed_frame not working !!!!!!!!!!!!!!!!!!!!!!!!") but this code doesn't work . i need a way to make the speed stream to my html page so i can use it in a chartjs. streaming video using openCv is woking just fine but when i change the type to float it doesn't work . -
Django - Accessing extra ModelForm fields in a different template
I have a first view (createview) which calls a ModelForm that has an extra field added to it. The first view leads to a second view (detailview), where i need to access the fields from the previous ModelForm to show them in the template. For the fields belonging to the model, i used {{ object.fieldname }} in the template and it works. The problem that remains is how to access the field i added myself. Thank you for your help -
Upload File in a folder without using submit button in Django
I am on a Django project and the scenario is that I want to save file in a folder without clicking on submit button. I am already saving the file in a folder with the help of submit button but now the scenario has changed and now I want to save file without clicking on submit button. Here are the details of my files: views.py: def compliance_check(request):` if request.method == 'POST':` uploaded_file = request.FILES['doc']` print(uploaded_file.name)` print(uploaded_file.size)` fs = FileSystemStorage()` fs.save(uploaded_file.name, uploaded_file)` messages.info(request, 'your file ' + uploaded_file.name + " has been uploaded successfully") return render(request, 'enroll/abc.html') upload.html: <form method="post" enctype="multipart/form-data"> {% csrf_token %} <input type="file" id="file" name="doc"> <input type="submit" name = "doc" value="upload file" class="btn btn-warning btn-sm" disabled /> </form> settings.py: STATIC_URL = '/static/' MEDIA_ROOT = os.path.join('/home/t/Desktop/folder name') MEDIA_URL = '/upload/' urls.py: path('compliance_check/', views.compliance_check, name='compliance check'), Now the situation is that I am already saving file in a folder. But, now, I want to save file without clicking on submit button. -
how to save data from API whenever it updates (django)
there is an API that comes from a device. This device updates its sampling variables every 2 minutes , maybe the results change or may not(because of some conditions). i want to store this API exactly whenever the device updates itself. i have tried using background tasks with 2 minutes intervals but for example the latest result doesn't match the API at the moment , because of the delay which is convincing. I am just curious to know is it possible to store the data as soon as the device updates itself? -
Django - Send email with URL to newly uploaded file
I have a Django app where users can upload PDF files. The PDF files will be saved on my cloud provider. After successfully submitting the PDF, I want to send an email to the user with the URL to the PDF on my cloud. I've been trying to do it by overriding form_valid() but at that point, the URL is not yet generated. The URL also isn't hardcoded, so I can't just point to a hard coded URL in form_valid() Any ideas on how to solve this? -
two packages require two different python versions on django deployment on centos7?
I'm trying to deploy my django project on Centos 7. While installing pip -r install requirements.txt I got error and I somehow tried to solve it. First of all it is said that asgiref==3.5.0 can't be installed in Python 3.7 below. Default installed python version is 3.6.8. Then I install python 3.7 and asgiref problem is solved, but I got another error on coreschema==0.0.4 (which is in requirements.txt). I upload image below, but looking at pypi I thought that coreschema is not supported on python 3.6 above. If this is the issue, how to solve it? It is possible to install coreschema with pip or pip3, because their python version is below than 3.7 -
Yum Cache failed. Error : amzn2-core/2/x86_64/group_gz FAILED
Can anyone help here when I deploy an EC2 instance on aws when yum makecache: amzn2-core | 3.7 kB 00:00:00 amzn2extra-docker | 3.0 kB 00:00:00 amzn2extra-nginx1 | 3.0 kB 00:00:00 amzn2extra-postgresql11 | 3.0 kB 00:00:00 amzn2extra-python3.8 | 3.0 kB 00:00:00 amzn2-core/2/x86_64/group_gz FAILED https://amazonlinux-2-repos-eu-central-1.s3.dualstack.eu-central-1.amazonaws.com/2/core/2.0/x86_64/da64f79d533a70e6036c814aff5d1e823eeeb815054a7a3785d2d5198ff2eabc/repodata/comps.xml.gz?instance_id=i-08792031e5dac83de&region=eu-central-1: [Errno 14] curl#6 - "getaddrinfo() thread failed to start" Trying other mirror. amzn2-core/2/x86_64/filelists_ FAILED https://amazonlinux-2-repos-eu-central-1.s3.dualstack.eu-central-1.amazonaws.com/2/core/2.0/x86_64/da64f79d533a70e6036c814aff5d1e823eeeb815054a7a3785d2d5198ff2eabc/repodata/filelists.sqlite.gz?instance_id=i-08792031e5dac83de&region=eu-central-1: [Errno 14] curl#6 - "getaddrinfo() thread failed to start" Trying other mirror. amzn2-core/2/x86_64/updateinfo FAILED https://amazonlinux-2-repos-eu-central-1.s3.dualstack.eu-central-1.amazonaws.com/2/core/2.0/x86_64/da64f79d533a70e6036c814aff5d1e823eeeb815054a7a3785d2d5198ff2eabc/repodata/updateinfo.xml.gz?instance_id=i-08792031e5dac83de&region=eu-central-1: [Errno 14] curl#6 - "getaddrinfo() thread failed to start" Trying other mirror. (1/21): amzn2-core/2/x86_64/primary_db | 66 MB 00:00:03 (2/21): amzn2-core/2/x86_64/other_db | 505 B 00:00:00 no mem for new parser Traceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ File "/usr/lib/python2.7/site-packages/urlgrabber/__init__.py", line 55, in <module> from grabber import urlgrab, urlopen, urlread File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 543, in <module> import urllib File "/usr/lib64/python2.7/urllib.py", line 1225, in <module> for a in _hexdig for b in _hexdig) MemoryError Traceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> Traceback (most recent call last): File "/usr/libexec/urlgrabber-ext-down", line 22, in <module> from urlgrabber.grabber import \ File "/usr/lib/python2.7/site-packages/urlgrabber/__init__.py", line 55, in <module> from urlgrabber.grabber import \ File "/usr/lib/python2.7/site-packages/urlgrabber/__init__.py", line 55, in <module> from grabber import urlgrab, urlopen, urlread … -
Fetch ((response) => {response.json()} replacing page with Json in Django App [closed]
I'm calling Fetch in a django app and it's getting the dict that I want, but it ends up replacing my page with the dict. I think I've written something wrong in the fetch call, but I'm not entirely sure cause it's my first time using fetch. Please help! I've been watching tutorials for two days now around Ajax and Fetch! Does anyone know what is happening here? Any help would be greatly appreciated! My page ends up like this after getting the response.json() which is correct cause that's what it's supposed to return as shown here in the views It's just supposed to return that one thing, total_votes .views def vote(request, poopfact_id): ... data = {"total_votes": total_votes} return JsonResponse(data, safe=False) I think the issue is here somewhere, does someone know if I'm missing something? .script fetch(url, { method: 'POST', credentials: 'same-origin', headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRFToken': csrftoken, } body: JSON.stringify(data) }); .then((response) => { response.json() }); .then((data) => { console.log(data) }); .catch((error) => { console.log(error) }); -
Checking Form Uploading Progress in Django
Is it possible to track the user form upload progress in the current page before browser redirects to the form's actions attribute? In Django's template, I have a form like below; It accepts user data such as name, age and multiple images from input field. If I upload large image here, I need to wait for more time before it redirects to success page. If i can see progress bar or something that confirms the remaining time for form's successful submission page, it will be better {% extends "base.html" %} {% block content %} {% if form.errors %} <p style="color: red;"> Please correct the error{{ form.errors|pluralize }} below. </p> {% endif %} <div data-role="content" style="padding: 15px"> <form action="{% url success %}" method="POST" enctype="multipart/form-data"> {% csrf_token %} {{ form.errors }} {{ form.non_field_errors }} {{ form.as_table }} <input type="submit" value="Submit" id="Save"> </form> </div> {% endblock %} -
I'm doing a study assignment. when checking, the teacher made a remark, what did he mean?
` I'm doing a study assignment. when checking, the teacher made a remark, what did he mean? I left a comment in the code ''' Views for 'users' API application. ''' class SubscriptionsViewSet(viewsets.GenericViewSet): ''' ViewSet for user subscription actions. ''' serializer_class = UserSubscriptionSerializer def get_queryset(self): return self.request.user.subscriptions.all() @action(detail=True, methods=['post', 'delete'], name='subscribe') def subscribe(self, request, pk=None): ''' Process user subscription actions.. ''' subscribed = get_object_or_404(get_user_model(), id=pk) if self.request.method == 'DELETE': request.user.subscriptions.remove(subscribed) return Response(status=status.HTTP_204_NO_CONTENT) if request.user.subscriptions.filter(id=subscribed.id).exist(): #! Here, most likely, you need to return Response raise validators.ValidationError( _('The subscription already exists.') ) request.user.subscriptions.add(subscribed) serializer = self.get_serializer(instance=subscribed) return Response(serializer.data, status=status.HTTP_201_CREATED) ` -
How to get data from terminal Python Django
I have a Django application in which, on the click of a html button, I launch a third-party Python script. This script in the terminal displays a lot of information - messages, progress bar, and more. How can I intercept this information for later display on the pages of the Django web application? How, for example, to save this information to a file? Help me to understand. I don't even have ideas. I dug into the code of a third-party script, but I can’t understand how information is displayed there in the terminal. -
TypeError: Unable to serialize datetime.time. Django, Dsl elasticsearch, Python
i have a document with late_delivery = ObJectField() "City": { "delivery_time": TimeField, "order_time": TimeField, } example: "late_delivery": { "SomeCity": { "delivery_time": "23:00:00", "order_time": "22:00:00", }, and i wanna filter queryset by datetime.time, that less than now i tried class LateDeliveryFilter(BaseFilterBackend): def filter_queryset(self, request, queryset, view): late_delivery_requested = request.data.get("late_delivery", None) if not late_delivery_requested: return queryset now = datetime.now().time() queryset = queryset.filter(fulfillment=RB_STOCK) kwargs = { f"late_delivery__{settings.CITY_NAME}__order_time": {"lt": now} } return queryset.filter("range", **kwargs) but i'm getting an error TypeError("Unable to serialize datetime.time(12, 51, 22, 708584) (type: <class 'datetime.time'>)")) can anyone help with this?