Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django: How to edit old model to have PK serializable
I have a model in Django with a custom Primary Key that I want to be serializable. When I created the model it automatically added serialize=False to the original migration. How can I now edit/change to have the primary key serializable? Thanks -
How to pass csrf token in Nuxt.js/auth to django backend?
I'm trying to find a solution for 3 days now and I didn't find anything related to my problem. I have a Nuxt.js frontend that uses the auth module to get a JWT token from a DRF backend. After login, the server prints out this: Forbidden (CSRF cookie not set.): /api/accounts/login/ [04/Jun/2021 10:36:44] "POST /api/accounts/login/ HTTP/1.1" 403 2870 In the network tab, I can see this in the request headers when I try to log in: X-CSRFToken: csrftoken, which means that the csrf token is not passed properly. Right? In my nuxt.config.js file, I have these settings: axios: { baseURL: 'http://localhost:8000', headers: { "X-CSRFToken": "csrftoken", }, xsrfCookieName: "csrftoken", xsrfHeaderName: "X-CSRFToken", }, // authentication module configuration auth: { strategies: { local: { endpoints: { login: { url: '/api/accounts/login/', method: 'post', propertyName: 'access', altProperty: 'refresh' }, logout: {}, user: false } } }, redirect: { login: '/login', }, }, router: { middleware: ['auth'] }, Here is my login script: export default { data() { return { user: { username: "", password: "", }, }; }, methods: { async login() { try { await this.$auth.loginWith("local", { data: this.user, }); console.log("VALID"); } catch (err) { console.log("INVALID"); } }, }, }; How can I pass … -
The best way to PDF generation with next.js - each page has its own template
I'm working on an application which generates multi-page, each page has its own template how to do this with Next.js, but any starting points would be appreciated. backEnd: Django frontEnd: next.js Thanks -
Django-Celery No Periodic Outputs
I am trying to use Celery to create periodic tasks in my application. However, I cannot see the outputs of the periodic task that I wrote. The backend is on a Windows-based redis-server. The server is up and running. project/celery.py import os from celery import Celery from celery.schedules import crontab os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'nttracker.settings') app = Celery app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks() app.conf.update( result_expires=3600, ) @app.task def add(x, y): z = x + y print(z) app.conf.beat_schedule = { 'add-every-30-seconds': { 'task': 'tasks.add', 'schedule': 30.0, 'args': (16, 16) }, } if __name__ == '__main__': app.start() project/tests.py from __future__ import absolute_import import django django.setup() from .celery import app @app.task def add(x, y): return x + y @app.task def mul(x, y): return x * y @app.task def xsum(numbers): return sum(numbers) However, when I ran celery -A project worker --pool=solo -l INFO, I get: -------------- celery@LAPTOP-A0OM125L v5.0.5 (singularity) --- ***** ----- -- ******* ---- Windows-10-10.0.19041-SP0 2021-06-04 16:45:29 - *** --- * --- - ** ---------- [config] - ** ---------- .> app: nttracker:0x22698b76340 - ** ---------- .> transport: redis://127.0.0.1:6379// - ** ---------- .> results: - *** --- * --- .> concurrency: 12 (solo) -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker) --- … -
Python requests_html throwing error There is no current event loop in thread 'ThreadPoolExecutor-0_0'
I am trying to run a JS script using python requests_html module for a given url but was getting few errors. Can some please help me out? Code :- from requests_html import HTMLSession def rrr(request): session = HTMLSession() url = 'https://careers.microsoft.com/' response = session.get(url) script = """ () => { return { ans: window.location.href, } } """ ans = response.html.render(script=script) return JsonResponse(ans, safe=False) Error :- File "/home/mahesh/anaconda3/lib/python3.7/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception raise exc File "/home/mahesh/anaconda3/lib/python3.7/site-packages/rest_framework/views.py", line 502, in dispatch response = handler(request, *args, **kwargs) File "/home/mahesh/anaconda3/lib/python3.7/site-packages/rest_framework/decorators.py", line 50, in handler return func(*args, **kwargs) File "/home/mahesh/Documents/dojo/dojo/dojo/tenants/api.py", line 242, in rrr ans = response.html.render(script=script) File "/home/mahesh/anaconda3/lib/python3.7/site-packages/requests_html.py", line 586, in render self.browser = self.session.browser # Automatically create a event loop and browser File "/home/mahesh/anaconda3/lib/python3.7/site-packages/requests_html.py", line 727, in browser self.loop = asyncio.get_event_loop() File "/home/mahesh/anaconda3/lib/python3.7/asyncio/events.py", line 644, in get_event_loop % threading.current_thread().name) RuntimeError: There is no current event loop in thread 'ThreadPoolExecutor-0_0'. When ran in terminal, it worked fine as follows -
python serve mp4 files securely
I am building video serving service on python (django framework). The main requirement is that users should not be able to see mp4 direct link. I was thinking about generating .ts files with subprocess using ffmpeg like this: import subprocess infile = 'video.ts' outfile = 'video.mp4' subprocess.run(['ffmpeg', '-i', infile, outfile]) but as I guess it will take a lot of resources (in a RAM) if multiple users try to watch videos can you suggest any native(in python) or third party solution(maybe there are some API services)? thanks in advance -
Unable to Authenticate login page in Django when created a new database using Models.py
I have created a new table using models.py and this table stores data to my models.py table which I created. Now when I am going to my login page its not able to authenticate the details from that table and always gives invalid credentials. My app name which I created is User and the table name which is stored in SQLite is User_register Login.html <div class="wrapper gradient"> <div class="container"> <div class="row centered-form"> <div class="col-xs-12 col-sm-8 col-md-4 col-sm-offset-2 col-md-offset-4"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><center><b>Login To Web App!!</b></center> </h3> </div> <div class="panel-body"> <form role="form" method="POST"> {% csrf_token %} <div class="form-group"> <input type="text" name="email" id="email" class="form-control input-sm" placeholder="Username"> </div> <div class="form-group"> <input type="password" name="password" id="password" class="form-control input-sm" placeholder="Password"> </div> <div class="form-group"> {% for message in messages %} <p style="color:black;">{{message}}</p> {% endfor %} </div> <input type="submit" value="Login" class="btn btn-info btn-block"> </form> </div> </div> </div> </div> </div> </div> Models.py class Register(models.Model): first_name = models.CharField(max_length=90) last_name = models.CharField(max_length=90) email = models.EmailField(max_length=90) password = models.CharField(max_length=90) Views.py def login(request): if request.method == 'POST': email = request.POST['email'] password = request.POST['password'] user = auth.authenticate(email=email, password=password) if user is not None: auth.login(request, user) return render(request,'index.html') else: messages.info(request, 'Invalid credentials') return render(request,'login.html') else: return render(request, 'login.html') -
Custom Django admin: unable to assign users to a group because of field rendering
I'm currently working on a Django app on which I have created a custom admin section (i know of the existing default admin section, but could not use it). The "admin" of the website should be able to CRUD users and assign them to a group (either "admin" or "manager" group). I'm having difficulties upon CRUD users on assigning them to either group, because the rendering of the group field. I have to highlight the group I want to put the user in, but upon saving the user is not assigned to the group chosen. I'm guessing I will have to put this field in some sort of widget but I'm unable to find the solution. Hereunder the code forms.py class AdminUserCreateForm(UserCreationForm): """UserCreateForm custom made class""" class Meta: """ Meta definitioon of UserCreateForm""" model = User fields = [ 'username', 'last_name', 'first_name', 'password1', 'password2', 'email', 'is_staff', 'is_active', 'is_superuser', 'groups', ] views.py (just a create use view here for example) @group_required('Administrator') def admin_create_user(request): if request.method == "POST": admin_user_create_form = AdminUserCreateForm(request.POST) if admin_user_create_form.is_valid(): admin_user_create_form.save() if request.user.groups.filter(name__in=['Administrator']).exists(): return redirect('admin_home') else: return redirect('manager_home') else: admin_user_create_form = AdminUserCreateForm() context = { 'admin_user_create_form': admin_user_create_form, } return render(request,'admin_create_user.html', context) template <!-- template admin_create_user.html --> {% extends 'base.html' … -
"mod_wsgi-express module-config" command not working in windows command Prompt?
"MOD_WSGI_APACHE_ROOTDIR=C:\xampp\Apache" in windows environment variable but Not work mod_wsgi-express module-config command .I got this error [mod_wsgi-express module-config][1] -
Django ValueError in form
I am trying to submit a form by pulling post data from form fields and plugging it into my view. I have the following model class ExerciseEdl(models.Model): unit = models.ForeignKey(Units, models.CASCADE) exercise = models.ForeignKey(Exercises, models.CASCADE) equipment = models.ForeignKey(Equipment, models.CASCADE) quantity = models.IntegerField() location = models.ForeignKey(Locations, models.SET('Unassigned'), db_column='location') And the following view def add_edl_item(request, unit_pk, ex_pk, *args, **kwargs): ex_instance = Exercises.objects.get(pk=ex_pk) unit_instance = Units.objects.get(pk=unit_pk) if request.method == "POST": print(request.POST) ExerciseEdl.objects.update_or_create( unit=unit_instance, exercise=ex_instance, equipment=request.POST.get('equipment'), quantity=request.POST.get('quantity'), location=request.POST.get('location') ) messages.success( request, f'{unit_instance.unit_name} EDL for {ex_instance.exercise} successfully updated') return redirect('exercise-equipment', ex_pk=ex_pk, unit_pk=unit_pk) else: messages.error( request, f'Failed to update the {unit_instance.unit_name} EDL for {ex_instance.exercise}.') And I am using data from this form to input the equipment, quantity, and location fields. <form action="{% url 'add-edl-item' ex_pk=ex_instance.id unit_pk=unit_instance.id %}" method="post"> {% csrf_token %} <label for="equipment">Equipment</label> <select class="form-control" id="id_equipment" name="equipment"> {% for equip in equip_list %} <option value="{{equip.id}}">{{equip.tamcn}} - {{equip.nomen}}</option> {% endfor %} </select> <div class="mb-3"> <label for="quantity" class="form-label">Quantity</label> <input id= "id_quantity" type="number" class="form-control" name="quantity"> </div> <div class="mb-3"> <label for="location">Location</label> <select class="form-control" id="id_location" name="location" value=""> {% for loc in locations %} <option value="{{loc.id}}">{{loc.location}}</option> {% endfor %} </select> </div> <input class="btn btn-primary" type="submit" value="Submit"> </form> The quantity is fine, it's just an integer, the other two fields however, give the … -
Attach created object to another existing objects with M2M relatonship
I have a little question, I have two models, Account and Services. Account can be attached to one or several services (Many2Many relationship). Services are pre-existing in the DB. How can I attach the account I create by doing POST to these services by passing a list with their id's? When I try it now, I receive the answer "These id's are already existing" -
Finding Selected Value of Widget in Django Forms
Im new to django framework ..and im having a situation when a browser back button is pressed, the form is rendered in the context of GET method without any query dict specified. However i could see the value for select widget (named as state in the below code) holding the last set value I would like to know how we can find what value the widget is holding in the forms class # in forms.py class MyCustomForm(forms.Form): items = [('', 'Select Your Choice'), ('1', 'NAME'), ('2', 'AGE') ...] item = forms.CharField(required=True, initial='', widget=forms.Select(attrs={'class': 'form-control'}, choices=items)) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if 'item' not in self.data: # WHEN BACK IS PRESSED I see we are landing here in the context of GET method. # And the field 'item' is holding valid value from previous selection # Lets assume i selected AGE, and that is being shown properly in the page after going back # i would like to know how to read that selected value here # in views.py @never_cache def index(request): if request.method == 'GET': form = MyCustomForm() return render(request, 'mypage.html', {"form": form}) -
How to convert a pandas plot into an image
I am working on an app which will be able to show a graph of the company's performance in stocks, I wanted to turn the pandas plot of that company into an image without saving it. Can someone tell me what to do? from fastquant import get_pse_data import matplotlib.pyplot as plt import pandas as pd df = get_pse_data(symbol, '2019-01-01', '2020-01-01') ma30 = df.close.rolling(30).mean() close_ma30 = pd.concat([df.close, ma30], axis=1).dropna() I want to create a python function that will allow me to return it as an image for a django code. Thank you for the help! -
How to load value apexchart with template tag filter applied in Django
I want to graph the value output in html using apexchart.js. Here, the value is not just loaded from the DB, but defined in models.py as shown below. It loads the value and outputs the value by applying the filter defined in the template tag. <chart.html> {% for student in student %} <td>{{ student.register_status|enroll_filter }}</td> {% endfor %} <script> series: [{ name: 'Chat', data: {{ date_count | safe }} }], </script> -
How to synchronise on-page requests with testing framework in django & selenium
My code has a functionality that automatically renders initial data and then loads further data immediately on page load. So I created a test that first verifies that initial data had been loaded as well as loading more data, like so: class PageLoadFormTest(WaitingStaticLiveServerTestCase): @parameterized.expand(['html', 'component']) def test_validated_list(self, renderer): self.browser.get(self.live_server_url + reverse('page-load-list', args=[renderer])) tbody = self.browser.find_element_by_tag_name('tbody') rows = tbody.find_elements_by_tag_name('tr') new_num_elements = num_elements = len(rows) # !!!!! the folowing line is the one with the problem !!!!! self.assertEqual(num_elements, 30, 'Initial page load should contain 30 data rows') def load_next(): nonlocal new_num_elements, num_elements num_elements = new_num_elements tim = time.time() while time.time() < tim + 2 and new_num_elements == num_elements: # we wait for 5 seconds for number of elements to update on page time.sleep(.1) new_num_elements = len(tbody.find_elements_by_tag_name('tr')) load_next() self.assertGreater(new_num_elements, num_elements, 'The page was supposed to load next page of elements in a second after initial load') load_next() self.assertEqual(new_num_elements, num_elements, 'The page was supposed to stop loading following pages of elements after the initial addendum') self.browser.execute_script('window.scrollBy(0, 50000);') load_next() self.assertGreater(new_num_elements, num_elements, 'The page was supposed to load next page of elements in a second after scrolling to bottom') However, I have now run into an issue where the events for loading more rows execute faster … -
Image not showing from Django rest api in Reactjs
data i've got from server: [ { "id": 29, "name": "atlas", "image": "/media/images/images-4.jpeg", "price": 67473, }, ] in React: //...code console.log(this.props.img); //>>> /media/images/images-4.jpeg //...code <img src={this.props.img} alt='image' width='100%'/> //... in Django: I think there is no problem in django. I made a template and tried to show image, and it worked. So, how do I show image in React ? -
i want to convert absolute uri to short url & able to display it in a template ,so that for individual product page , there is a short url for those
this is how i am trying to generate link #generating short link def create_short_url(self, request): full_url = request.build_absolute_uri temp_url = md5(full_url.encode()).hexdigest()[:6] try: obj = self.objects.create(full_url=full_url, short_url=temp_url) except: obj = self.objects.create(full_url=full_url) return render(request, 'link.html', {"obj": obj}) i want to render the short url to the template. below is where i want to display <!-- Copy to Clipboard --> <label for="text_copy" class="text-primary"> Short Link to be shared</label> <input type="text" class="form-control border-0 d-block bg-dark text-white" id="text_copy1" value="{{ request.build_absolute_uri }}"/> <div class="container"> <button onclick="copyToClipboard('#text_copy1')" type="button" class="col mr-3 btn btn-light btn-rounded" data-mdb-ripple-color="dark">Copy</button> </div> -
Chrome hitting my Django backend but I only made an iOS app
So I have a Django backend deployed on Google App Engine. This backend supports an iOS app. In my server logs I can see all the requests coming in and where they were made. It used to be that I would only get requests from Joon/7.** (which is the iOS app name + version). However, recently I've been getting requests from Chrome 72 which doesn't make sense cause the app shouldn't be able to be used on Chrome. Furthermore these requests are creating a lot of errors in my backend because it is not sending an authentication token. Does anyone know what is going on here? Are my servers being hacked? -
Queryset object has no attribute _default_manager
This is my models.py class PdfParsed(models.Model): user=models.ForeignKey(User, on_delete=models.CASCADE) pdf_id = models.AutoField(primary_key=True) name = models.CharField(max_length=200, blank=True, null=True) status = models.IntegerField(blank=True, null=True) this is my views.py class pdfListView(LoginRequiredMixin,ListView): model = PdfParsed.objects.filter(user_id=6) login_url = '/login/' context_object_name = 'pdfparsed_list' def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) aa=os.listdir('media/pdfs') data['pdf_parsed'] = sum('.pdf' in s for s in aa) return data what i wanted to achieve from above code is to print pdfs that are uploaded with respect to user here for testing purpose i used number 6 but its not working it is showing this error: File "/home/ideas/anaconda3/lib/python3.8/site-packages/django/views/generic/list.py", line 33, in get_queryset queryset = self.model._default_manager.all() AttributeError: 'QuerySet' object has no attribute '_default_manager' -
How to filter a template table on field from a many to many related model in Django using django-filters?
I am trying to create a filter using a reverse many-to-many relationship using django-tables2 and django-filters. I can get a filter for the many-to-many object, but I want to be filter on one of the fields in the related table. How is it that I can do this? example models: class Author(models.Model): articles = models.ManyToManyField(Article,blank=True) age = models.IntegerField() hometown = models.ForeignKey(Town,on_delete=models.CASCADE,null=True,blank=True) @property def articles(self): return ', '.join(art.title for art in self.articles.all()) class Article(models.Model): title = models.CharField(max_length=255, blank=True) publication_date = models.DateField() published = models.BooleanField(default=False) class AuthorTable(tables.Table): articles = tables.columns.Column(accessor='articles') class Meta: model = Author attrs = { 'class': 'table table-responsive table-striped', 'thead' : { 'class': 'thead-dark' } } class AuthorFilter(django_filters.FilterSet): class Meta: model = Author fields = ["articles", "age", "hometown"] This gives me a filter that looks like: Articles: ( Object 1 ) ( Object 2 ) ( Object 3 ) How to I get it to filter on articles which have been published or articles which have a certain publication date? I also do not seem to be able to do the reverse table/filter. If I make an Article table and an Article filter, i cannot seem to fetch or filter the author objects. I have read through both documentations … -
The minimal list of Django study projects after those I can start working in freelance
I need a list of study projects. After complete that, I can work freelancer with confidence. I want to take not arduous tasks, only for experience in conversations with customers and programming for somebody. -
Django ManyToManyField restrict user to single field
I am trying to create a model for a comment section with a like and dislike with ManyToManyField corresponding to the specific user using the below code. class Comment(models.Model): """docstring for comment.""" ... likes = models.ManyToManyField("User", related_name = "CommentLikes", blank = True) dislikes = models.ManyToManyField("User", related_name = "CommentDislikes", blank = True) But I need to create some kind of restriction so that the user is not present in both fields before saving the model. Can someone kindly help me with how to implement it? -
Where is the best place to enable CORS from?
I have a Django application that I can enable CORS using CORS_ORIGIN_ALLOW_ALL = True but I can also enable it through the Nginx Configurations. So where is the best location to do this and why? -
How would I dynamically clone a site and apply custom css to it?
So my school has a "portal"; a site with heaps of resources for the students and teachers. Only downside is that it is really, really badly designed and runs on HTML4. I have some decent web design skills and I want to try and improve it. I have asked if I could directly edit it and I was very quickly shut down. So how would I go about cloning the site while applying custom CSS? While doing an iframe seems like a great idea to start with, it is quickly stopped by CORS. You can't apply custom CSS to an iframe with an origin of a different domain. I could just download the site's source code and write custom CSS for that, but that way it won't update when new content is updated. I am happy to play around with django/flask if needed since I have a lot of experience with python and if it works, I can create a downloadable app using react or something. Anyone got any ideas? -
I want to create timetable for employee's working hours in django
I want to create timetable like this : enter image description here I could not find any similar examples or any helpful libs for timetable for working hours written in python/django. I tried fullcalendar.io django integration but it didnt work for me. I tried write code for this myself but something went wrong. My code : class Timetable(models.Model): name = models.CharField(max_length=200, unique=True) class Meta: ordering = ('id',) def __str__(self): return self.name class Schedule(models.Model): WEEK_DAYS = ( ('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday'), ) timetable = models.ForeignKey(Timetable, on_delete=models.PROTECT) is_working_day = models.BooleanField(default=True) day_title = models.CharField(max_length=12, choices=WEEK_DAYS, default=1) starts_at = models.TimeField(null=True, blank=True) finishes_at = models.TimeField(null=True, blank=True) class Meta: ordering = ('id',) def __str__(self): return f"On {self.day_title} work starts at {self.starts_at} and finishes at {self.finishes_at} "