Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
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} " -
How Good is Django compared to Single Page web applications like angular?
I wanted to know that is there really a very significant difference between Single Page Web applications like Angular which use APIs and traditional MVC based ones like Django? What would be the best combination for the backend (API) and Frontend to create robust web applications? -
run ajax call to get form submitting data first, then run the following JavaScript
I have build a Django web app. In the frontend, I want to run the ajax call to get the form submitting data first, then run the following JavaScript to process according to the real time data passed from backend. <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> async function myFunction() { Swal.fire({ title: '', text: "Do you want to confirm entries?", type: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes', cancelButtonText: 'No' }).then((result) => { if (result.value) { $("#myform").submit(); $.ajax({ url: '127.0.0.1:8000/content_checklist_name_url', type: 'get', // This is the default though, you don't actually need to always mention it success: function(data) { alert(data); }, failure: function(data) { alert('Got an error dude'); } }); const result = await if (data.includes('saved')) { Swal.fire( '', 'Entries have been saved.', 'success' ) } else { Swal.fire( '', 'Duplicate Entry. This Course Code already exists.', 'error') } } else { window.stop(); } }) } But the error shows: await is only valid in async function. How could I run ajax to get the data(form submitting result) from backend first then run the if condition: if (data.includes('saved'))? So I could do different pop up from the results passed from backend in real time. -
Django Celery Dynamic Schedule
In my app, i have a reminder system and i want to notify the user at their given time. these are models.py file class Reminder(models.Model): user = models.ForeignKey( User, on_delete=models.CASCADE, related_name="reminder" ) name = models.CharField(max_length=255) remind_at = models.DateTimeField(null=True, blank=True) class Notification(models.Model): reminder = models.ForeignKey(Reminder, on_delete=models.CASCADE) message = models.CharField(max_length=255) and this is the views when user create a reminder: def create_reminder(request): if request.method == 'POST': Reminder.objects.create( user=request.user, remind_at=request.POST['remind_at'], name=request.POST['name'] ) return HttpResponse("Created the reminder") Current i am notifying the user like every hour i running a task with celery beat. this is the tasks.py @shared_task(name ="notify_as_reminder") def notify_as_reminder(): reminder = Reminder.objects.filter( remind_at__gte=timezone.now()-timezone.timedelta(hours=1), remind_at__lte=timezone.now() ) for r in reminder: Notification.objects.create( user=r.user, message="Hey ! You have schedule meeting about to start after one hour" ) and this is celery beat app.conf.beat_schedule = { 'notify_as_reminder': { 'task': 'send_notification', 'schedule': crontab(hour='*/1'), }, } I think the celery beat running the method even there is no notification needs to send to the user. I want exactly same time the user set a time to remind them. I mean dynamically. I heard of apply_async and django_celery_beat Can anyone tell me which one is better to solve problem? or there is any other way to do it? Can … -
Django - The empty path didn’t match any of these
This is the error I get when I run this code: python3 manage.py runserver error message my url.py file looks like this: from django.contrib import admin from django.urls import path from django.views.generic import TemplateView urlpatterns = [ path('admin/', admin.site.urls), path('home/', TemplateView.as_view(template_name="home.html")), ] In settings.py under the templates option it looks like this: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR, 'template'], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] And my overall directory looks like this: directory I was following this tutorial: https://www.youtube.com/watch?v=IHTP8-KskcQ I got stuck around 7 minutes in, does anyone know the issue? -
how to add links to navigation bar
I'm making a blog web site using django and I add a sticky navigation bar to web site and also it work pretty well but want add links to menu in the navigation bar.I can't do it because there already link in href.I want to keep this link in href because it make navigation bar sticky.I make this sticky navigation bar with help of w3 school website.here is my code <!DOCTYPE html> <html> <head> <title>Dinindu Theekshana</title> <link href="https://fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"> <meta name="google" content="notranslate" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous" /> </head> <body> <style> body { font-family: "Roboto", sans-serif; font-size: 17px; background-color: #fdfdfd; } .shadow{ box-shadow: 0 4px 2px -2px rgba(0,0,0,0.1); } .btn-danger { color: #fff; background-color: #f00000; border-color: #dc281e; } .masthead { background:#3398E1; height: auto; padding-bottom: 15px; box-shadow: 0 16px 48px #E3E7EB; padding-top: 10px; } #navbar a { float: left; display: block; color: #f2f2f2; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } #navbar { overflow: hidden; background-color: #333; color: #333; z-index: 9999999; } #navbar a:hover { background-color: #ddd; color: black; } #navbar a.active { background-color: #294bc5; color: white; } .content { padding: 16px; padding-top: 50px; } .sticky { position: fixed; top: … -
Convert objects into queryset
Probably, it is a bad and db expensive idea, but is there a way to convert list of objects back to a queryset? foo_list = [foo1, foo2, foo3, ...] something like: foo_qs = queryset(foo_list) So that i can return paginated queryset??