Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
HTTP 403 Forbidden in django-rest-framework
@api_view(['POST', 'GET']) def buyInstituteTutorialAPI(request,id): if request.session['type'] == "Student": user = User.objects.get(username=request.user) student = Student.objects.get(user=user) tutorial = TutorialInstitute.objects.get(id=id) if request.method == "GET": data = [] data['student'] = student.id data['tutorial'] = tutorial.id data['status'] = 1 if int(tutorial.Fees) == 0: buyData = BuyInstituteTutorialSerializer(data=data) if buyData.is_valid(): buyData.save() data['success'] = "Notes Bought Successfully!" else: data['error'] = "something error!" return redirect('view-tutorial-tutor-api') else: return Response(data) is that wrong method to send data in the serializer i'm logged with student but still shows this.... o/p: You do not have permission to perform this action -
Creating an object in django
I have just started learning Django and I am making a database using SQLite I have a python file called models.py and I am currently creating a py file for the objects called object. However I am having trouble creating objects in the database I have made. I think there is an issue with the object.py file because it is claiming that my FruitInfo sections have no objects. models.py from django.db import models from django.core.validators import MinLengthValidator, MaxValueValidator, MinValueValidator class FruitInfo(models.Model): id = models.IntegerField(primary_key=True, max_length=30, validators=[MinLengthValidator("5")]) name= models.CharField(max_length=30) origin = models.CharField(max_length=60) price = models.DecimalField(max_digits=4,null=False,decimal_places=2, validators=[MinValueValidator('200')]) def __str__(self): return self.origin + " " + self.name object.py from stinky.models import FruitInfo FruitInfo.objects.all() FruitInfor.objects.all().values() record = FruitInfo.objects.create(id = "A0001", name = "Pink Lady Apple", origin= "Washington State", price="$2.00/kg" ) record = FruitInfo.objects.create(id = "A0002", name = "Organic Bananana", origin = "Australia", price = "$4.50/kg") record = FruitInfo.objects.create(id = "A0003", name = "Orange", origin = "Indonesia", price = "$4/kg") record.save() -
How to resend a cognito invite
i need to resend cognito invite to users when the previously sent token expires in the documentation it's written like this --message-action (string) Set to "RESEND" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to "SUPPRESS" to suppress sending the message. Only one value can be specified. Possible values: RESEND SUPPRESS -
Django Query select from where in
i need to write a query in django that creates a table with instructors name, department name, and total number of students taught. the part thats giving me trouble is the student count, i think i have the mysql query: select count (distinct ID) from takes where (course_id, sec_id, semester, year) in (select course_id, sec_id, semester, year from teaches where teaches.ID= Instructor.ID); or select count (distinct t1.ID) from takes as t1 inner join teaches as t2 on t1.course_id=t2.course_id and t1.sec_id=t2.sec_id and t1.semester=t2.semester and t1.year=t2.year where t2.ID= Instructor.ID my models are: class Takes(models.Model): id = models.ForeignKey(Student, models.DO_NOTHING, db_column='id', primary_key=True,) course = models.ForeignKey(Section, models.DO_NOTHING, related_name='+') sec = models.ForeignKey(Section, models.DO_NOTHING, related_name='+') semester = models.ForeignKey(Section, models.DO_NOTHING, db_column='semester', related_name='+') year = models.ForeignKey(Section, models.DO_NOTHING, db_column='year') grade = models.CharField(max_length=3, blank=True, null=True) class Meta: managed = False db_table = 'takes' unique_together = (('id', 'course', 'sec', 'semester', 'year'),) def __str__(self): return self.id class Teaches(models.Model): course = models.ForeignKey(Section, models.DO_NOTHING) sec = models.ForeignKey(Section, models.DO_NOTHING, related_name='+') semester = models.ForeignKey(Section, models.DO_NOTHING, db_column='semester', related_name='+') year = models.ForeignKey(Section, models.DO_NOTHING, db_column='year', related_name='+') id = models.ForeignKey(Instructor, models.DO_NOTHING, db_column='id', primary_key=True,) class Meta: managed = False db_table = 'teaches' unique_together = (('id', 'course', 'sec', 'semester', 'year'),) class Section(models.Model): course = models.ForeignKey(Course, models.DO_NOTHING) sec_id = models.CharField(max_length=8) semester = models.CharField(max_length=6) year … -
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS. HTTPS Websocket wss://
I am writing a website with 2 Django apps. A chat room and a Quiz website. used docker for the webSocket server: docker run -p 6379:6379 -d redis:5 I was using Channels and the app worked fine at https with (ws://) webSocket. But the client cant connect to the webSocket when i changed the link to wss://. Now i am trying to start the server using Daphne. But this has this error: daphne -p 8000 flippingClassroom.asgi:application django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. File tree: my-project chat templates index.html room.html admin.py consumers.py models.py routing.py urls.py views.py flippingClassroom asgi.py settings.py urls.py wsgi.py main ...another app chat/routing.py from django.urls import re_path from .consumers import ChatConsumer websocket_urlpatterns = [ re_path(r'ws/chat/(?P<room_name>[^/]+)/$', ChatConsumer.as_asgi()), ] chat/urls.py from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('<str:room_name>/', views.room, name='room'), ] chat/views.py from django.shortcuts import render # Create your views here. def index(request): return render(request, 'chat/index.html') def room(request, room_name): return render(request, 'chat/room.html', { 'room_name': room_name, 'username': request.user.username }) flippingClassroom/asgi.py import os from channels.auth import AuthMiddlewareStack from channels.routing import ProtocolTypeRouter, URLRouter from django.core.asgi import get_asgi_application import chat.routing os.environ.setdefault("DJANGO_SETTINGS_MODULE", … -
AttributeError: 'function' object has no attribute 'get_extra_actions' in function view
views.py @api_view(['GET', 'POST']) def poll(request): if request.method == "GET": question = Question.objects.all() serializer = QuestionSerializer(question, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == "POST": data = JsonParser.parse(request.POST) serializer = QuestionSerializer(data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data, status=201) return JsonResponse(serializer.errors, status=400) api_urls.py from django.contrib import admin from django.urls import path, include from . import views from rest_framework import routers router = routers.DefaultRouter() router.register(r'poll', views.poll, basename='poll') urlpatterns = [ path('poll/', include(router.urls)), ] error File "C:\Users\azhar\.virtualenvs\Django_and_Rest-YRrszWnq\lib\site-packages\rest_framework\routers.py", line 152, in get_routes extra_actions = viewset.get_extra_actions() AttributeError: 'function' object has no attribute 'get_extra_actions' many solution available for how to use get_extra_actions in class View but I want to use it in poll function please help me out -
What is the best way to generate a primary key for a table from two strings?
Basically I'm trying to make my Django + PostgreSQL database perform better. Say I have a table with first_name, last_name, state, address. For whatever reason I want first_name and last_name together to make my primary key. Doesn't have to make sense, it's just an example. At first I used zlib.adler32() to generate a hash from the two strings and put it into a BigIntegerField and use that as my primary key, but I quickly discovered that the purpose of this function is totally different and I was getting collisions pretty quickly. Currently I'm using hashlib.md5() to generate a hash into a 32 character CharField and use it as my primary key: hashlib.md5(bytes(f'{first_name}{last_name}', encoding='utf-8')).digest().hex() However things slowed down a lot. I don't know if it's because of the md5 algorithm, or because of the table having a string for primary key instead of an integer. I know there is another option - unique_together value of the Meta class, but I've been trying to avoid any Django conveniences for performance reasons. How would you recommend to make a primary key? I'm looking for performance, doesn't need to be human readable. If BigInteger is much faster as a primary key, how do I … -
How to multiply parent model field with current model field in django?
class Items(models.Model): name = models.CharField(max_length=100, unique=True) price = models.IntegerField() image1 = models.ImageField(upload_to='images/', blank=True) image2 = models.ImageField(upload_to='images/', blank=True) image3 = models.ImageField(upload_to='images/', blank=True) def __str__(self): return self.name class Meta: verbose_name_plural = "Items" class Buy(models.Model): item = models.ForeignKey(Items, on_delete=models.CASCADE) quantity = models.IntegerField() total_price = models.IntegerField(default=0) @property def totalPrice(*args, **kwargs): self.total_price = self.quantity * self.item.price def __str__(self): return self.item.name class Meta: verbose_name_plural = "Buy" How to find the total price by mulitplying item price in first model with quantity in the second model....Please help -
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 1 with Heroku but not in local
When running my Django app on local environment, there are no issues. Using djstripe, I am able to, using stripe testing data, successfully create stripe checkout session and payment goes through. However, when trying this on Heroku I get a Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 1 preceded by POST 500 Internal Server error. second line (return fetch...) is causing the problem supposedly (in Heroku but not locally) var createCheckoutSession = function (priceId) { return fetch("/users/create-checkout-session/", { method: "POST", headers: { "Content-Type": "application/json", "X-CSRFToken": "******" }, body: JSON.stringify({ priceId: priceId }) }).then(function(result) { return result.json(); }); }; first line below also indicated as problem createCheckoutSession(basicannualPrice).then(function(data){ stripe.redirectToCheckout({sessionId: data.sessionId}); Console shows correct key for basicannualPrice and the url should work. What am I missing? Why would one environment work, and not another in this instance? -
How do I create a tree hierarchy in Django so that I can keep the requests to the backend to a minimum?
I'm working on a website where people can add exam questions. A question has the following properties(categories): Board (Edexcel, Cambridge) → Level (O, A - AS, A2) → Paper (subjects) → Year → Session (Aug, Jun, Jan) The board and level are fixed. There are only two boards and there are only four levels, these won't change. But, more papers and years can be added later, as needed. In the frontend, I'll create a tree structure. So, when someone clicks on one of the boards, it'll show the levels, click on one of the levels, it'll show the list of all subjects, click on one of the subjects, it'll show years and vice versa. Finally, it'll filter all the questions and only show those that met those filters. I haven't worked very long at the models yet. Do I need to create a separate model for each of them or do I just create models for those that will be updated through the dashboard later (paper, year, session) and hardcode the fixed ones (board, level)? This is how I am going about it: class Board(MPTTModel, models.Model): class Meta: verbose_name = _("Board") verbose_name_plural = _("Boards") class MPTTMeta: order_insertion_by = ['name'] name … -
DJango not finding static files, despite STATIC_URL and STATIC_ROOT set
I have just started learning DJango and am trying to use css file for my html template. As per the documentation, I have added the STATIC_URL and STATIC_ROOT to my settings.py file as follows: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') BASE_DIR is already set as follows: BASE_DIR = Path(__file__).resolve().parent.parent In the template, I am using the css file as follows {% load static %} <link rel="stylesheet" href="{% static 'style.css' %}"> and the style.css is present at location DJango_App/static, DJango_App being my project directory with the manage.py file. Still I am getting error "GET /static/style.css HTTP/1.1" 404 1653 DEBUG is set to True How do I resolve this? -
How to pass list of Django form field names to template?
I have a very basic form: class NavigationForm(forms.Form): NavSelection1 = forms.TextInput() In my view I want to pass a list to the template: form = NavigationForm() context['formfields'] = [i for i in form.fields] return render(request, "page.html", context) I am hoping to be able to use: {% for i in formfields %} {{i}} {% endfor %} But it returns nothing. {{formfields}} Alone returns an empty list [] I feel like I'm missing something simple but I'm stumped at the moment. Any help would be appreciated! -
Django - Custom values for inline list item field
After searching for a while, I can't seem to find any answer for this so I'm asking this question. What I want to is display some values based on a person's salary and a bracket. My models looks like this. class Employee salary = models.DecimalField class Benefit some_fields class EmployeeBenefit employee = models.ForeignKey benefit = models.ForeignKey class BenefitVersion benefit = models.ForeignKey class BenefitBracket benefit_version = models.ForeignKey from_salary = models.DecimalField to_salary = models.DecimalField the_fields_I_want_to_display As you can see it's quite deep, there would be a bunch of querying to do to get to the fields I want. I basically need to get the employee's salary(which is easy because this is gonna be inside EmployeeAdmin) then get the current benefit of the EmployeeBenefit list item, then based on the benefit and the employee's salary, get the bracket and then display some of it's fields on the inline. I want to display the the_fields_I_want_to_display on the admin.TabularInline for EmployeeBenefit inside my EmployeeAdmin. I was testing using a forms.ModelForm in the inline and modifying it's contents using get_form based on this answer but django is not calling get_form. I also previously tried using calculated_fields but it's not being rendered as well. -
DoesNotExist at /accounts/twitter/login/ SocialApp matching query does not exist
settings.py SITE_ID = 2 SOCIALACCOUNT_PROVIDERS = { 'twitter': { 'SCOPE': ['email'], 'AUTH_PARAMS': {'access_type': 'online'} } } twitter API Callback urls http://127.0.0.1:8000/accounts/twitter/login/callback/ Website Url https://twitter.com/_SANDEEP_AGR twitter api not accepting http://127.0.0.1:8000 as Website Url -
AJAX POST Data does not appear to be hitting Django Rest Framework API Endpoint
I am trying to build a feature with AJAX and DRF whereby a user can follow another user. However when I initiate it, the POSTed data does not appear to be hitting the DRF endpoint so I am getting no errors beyond: {user: ["This field is required."], following_user: ["This field is required."]} following_user: ["This field is required."] user: ["This field is required."] Here is my js function: const followUser = function(followedUser){ var pathArray = window.location.pathname.split('/'); var currentUser = pathArray[1]; console.log("Following" + " " + followedUser); $.ajax({ type: 'POST', url: '/api/userconnections/', data: { csrfmiddlewaretoken: document.querySelector('input[name="csrfmiddlewaretoken"]').value, 'current_user': currentUser, 'followed_user': followedUser }, success: function(data) { alert('Successfully Followed') } }); } Here is my serializer: class UserConnectionListSerializer(serializers.ModelSerializer): user = serializers.StringRelatedField() following_user = serializers.StringRelatedField() class Meta: model = UserConnections fields = ['user','following_user'] class UserConnectionSerializer(serializers.ModelSerializer): class Meta: model = UserConnections fields = '__all__' And here is the views function: class UserConnectionsViewSet(viewsets.ModelViewSet): serializer_class = serializers.UserConnectionListSerializer queryset = UserConnections.objects.all() def get_serializer_class(self): """IF this is a form post, use the basic serializer that deals with id (primary key) otherwise give the more sophisticated version that deals with actual username""" if self.request.method == 'POST': return serializers.UserConnectionSerializer return self.serializer_class def follow_user(request): if request.method == "POST": data = {'user': request.DATA.get('current_user'), 'following_user': request.DATA.get('followed_user')} … -
django many to many query
I'm attempting to create an application that would help me store old music. These are my models. class ArtistGenre(models.Model): genre_name = models.CharField('Genre', max_length=20) def __str__(self): return self.genre_name def get_absolute_url(self): return reverse('genre_detail', kwargs={'pk': self.pk}) class ArtistTrait(models.Model): trait_name = models.CharField('Trait', max_length=20) def __str__(self): return self.trait_name def get_absolute_url(self): return reverse('trait_detail', kwargs={'pk': self.pk}) class Artist(models.Model): stage_name = models.CharField('Stage Name', max_length=255) real_name = models.CharField('Birth Name', max_length=255, blank=True) artist_genre = models.ForeignKey(ArtistGenre, on_delete=models.CASCADE) artist_trait = models.ManyToManyField(ArtistTrait) def __str__(self): return self.stage_name def get_absolute_url(self): return reverse('profile_artist', kwargs={'pk': self.pk}) My hang-up is properly querying the ArtistGenre and ArtistTrait models in order to create clickable links that would list all artists in a Genre or with a particular Trait. Do I have to create Many To Many fields in the Trait and Genre models that link to the artists or is there a way for me to query the it currently? Thank You! -
face recognition using django, opencv, and flutter
Hi I am new in django and python, right now I would like to develop face recognition. There are so many resources to access live camera webcam to do face recognition, but here I would like to access live camera from flutter and connect it with the django as backend. Is it possible to do that ? So far, I have been following this article to do face recognition in live webcam https://www.mygreatlearning.com/blog/face-recognition/ and I still don't know how to make connection between django and flutter video_capture = cv2.VideoCapture(0) while True: ret, frame = video_capture.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(60, 60), flags=cv2.CASCADE_SCALE_IMAGE) rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) encodings = face_recognition.face_encodings(rgb) names = [] for encoding in encodings: matches = face_recognition.compare_faces(data["encodings"], encoding) name = "Unknown" if True in matches: matchedIdxs = [i for (i, b) in enumerate(matches) if b] counts = {} for i in matchedIdxs: name = data["names"][i] counts[name] = counts.get(name, 0) + 1 name = max(counts, key=counts.get) names.append(name) for ((x, y, w, h), name) in zip(faces, names): cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) cv2.putText(frame, name, (x, y), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 2) cv2.imshow("Frame", frame) if cv2.waitKey(1) & … -
Get value from django field and change it dynamically
I have created two models with two fields which are quantity and quantity_given, so I want to change the value of quantity field by adding the value of quantity + quantity given. For example if quantity = 4 and quantity_given = 8 therefore the new value of quantity field will be 12. Here are the source code for my models class Stock(models.Model): `name = models.CharField(max_length=30)` def __str__(self): return self.name class Medicine(models.Model): stock = models.ForeignKey(Stock, on_delete=models.CASCADE) name = models.CharField(max_length=30) quantity = models.IntegerField() def __str__(self): return self.name class MedicineGiven(models.Model): medicine = models.ForeignKey(Medicine, on_delete=models.CASCADE) quantity_given = models.IntegerField() -
NOT NULL constraint failed: jobs_job.created_by_id IntegrityError at /jobs/add/
I am trying to enable the user to be able to add job and after filling the form i got that error. Here is my code: models.py from django.db import models from django.contrib.auth.models import User class Job(models.Model): title = models.CharField(max_length=255) short_description = models.TextField() long_description = models.TextField(blank=True, null=True) created_by = models.ForeignKey(User, related_name='jobs', on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) changed_at = models.DateTimeField(auto_now=True) def __str__(self): return self.title views.py from django.shortcuts import render, redirect from django.contrib.auth.decorators import login_required from .forms import AddJobForm from .models import Job def job_detail(request, job_id): job = Job.objects.get(pk=job_id) return render(request, 'jobs/job_detail.html', {'job': job}) @login_required def add_job(request): if request.method == 'POST': form = AddJobForm(request.POST) if form.is_valid(): job = form.save(commit=True) job.created_by = request.user job.save() return redirect('dashboard') else: form = AddJobForm() return render(request, 'jobs/add_job.html', {'form': form}) forms.py from django import forms from .models import Job class AddJobForm(forms.ModelForm): class Meta: model = Job fields = ['title','short_description','long_description'] What do i need to do to solve this error? I have try to remove the commit=True, from views.py and I have try to remove sqlite3 and do the migrations again. -
Django Rest Framework cannot add extra fields
I am new to Django. And I trying to work along with django-rest-framework (DRF from now on) to create an API so I can consume it from a React frontend. I am getting currently: AttributeError: Got AttributeError when attempting to get a value for field answers_set on serializer QuestionSerializer. The serializer field might be named incorrectly and not match any attribute or key on the Question instance. Original exception text was: 'Question' object has no attribute 'answers_set'. But I have followed this question to add extra fields and this one to dig into that error. Still getting the same error. So, I have two models: Question class Question(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=250) description = models.CharField(max_length=1000) created_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now=False, auto_now_add=True) updated_at = models.DateTimeField(auto_now=False, auto_now_add=True) Answer class Answer(models.Model): id = models.AutoField(primary_key=True) answer = models.CharField(max_length=1000) question = models.ForeignKey(Question, on_delete=models.CASCADE, default=None) created_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now=False, auto_now_add=True) updated_at = models.DateTimeField(auto_now=False, auto_now_add=True) So I have two serializers: AnswerSerializer class AnswerSerializer(serializers.ModelSerializer): class Meta: model = Answer fields = ['answer', 'created_by', 'updated_at'] QuestionSerializer class QuestionSerializer(serializers.ModelSerializer): answers_set = AnswerSerializer(many=True) class Meta: model = Question fields = [ 'id', 'title', 'description', 'answers_set', 'created_by', 'created_at', 'updated_at', ] I guess this is the … -
Updating django form without prompting the user to enter their ID
So i'm working on job application portal. the logic is as follows : Applicant ---> Applies for ---> Job Models are (Job, User, Application) I used the User model from django and i extend it. Now the dilemma is when i render the ApplicationForm, because i have to update the foreign key and i want it to be updated automatically. Here is my code : Models.py class Job(models.Model): owner = models.ForeignKey(User,related_name='job_owner',on_delete=models.CASCADE) title = models.CharField(max_length=100) #location job_type = models.CharField(max_length=15,choices=JOB_TYPE) description= models.TextField(max_length=1000) published_at = models.DateTimeField(auto_now=True) vacancy = models.IntegerField(default=1) salary = models.IntegerField(default=0) experience = models.IntegerField(default=1) category = models.ForeignKey('Category',on_delete=models.CASCADE) icon = models.ImageField(upload_to ='job_icons/',default='job_icons/job.png') slug = models.SlugField(blank = True,null=True) class Application(models.Model): job = models.ForeignKey(Job, related_name="job_applied",on_delete=models.CASCADE) applicant = models.ForeignKey(User,related_name='job_applicant',on_delete=models.CASCADE) first_name= models.CharField(max_length=40) last_name= models.CharField(max_length=40) email = models.EmailField(max_length=60) website = models.URLField() cv = models.FileField(upload_to='application/') coverletter = models.TextField(max_length=550) application_date = models.DateTimeField(auto_now=True) def __str__(self): return self.last_name+"\t"+self.first_name Forms.py class JobApplication(ModelForm): class Meta: model = Application fields = ['first_name', 'last_name','email', 'website','cv','coverletter'] vews.py def job_detail(request,slug): job_specific = Job.objects.get(slug=slug) form = JobApplication(instance=request.user) if request.method == 'POST': form = JobApplication(request.POST,request.FILES) if form.is_valid(): my_form = form.save(commit=False) my_form.job = job_specific Application.applicant.user = request.user Application.job = job_specific my_form.save() context ={'job_specific':job_specific, 'form':form,} return render(request,"job/job_details.html",context) So once the user submit their application, i wanted to updated the fields that are … -
Creating a Reusable Chartjs Function
I have the following javascript Chartjs code which works well when I use it in a django template. However this template is for a dashboard and I need to recreate 7 of the same charts. As such, instead of recreating this code multiple times can I reconfigure it as a function of some kind and call it instead? var ctx_category_driving = document.getElementById('myChart_Category_Drving').getContext('2d'); var data = { // labels: ["Chocolate", "Vanilla", "Strawberry"], labels: {{ lbl_category_driving|safe }}, datasets: [ { label: "acceptable", // backgroundColor: "blue", data: {{ data_cat_driving_acceptable|safe }}, fill: true, // backgroundColor: "rgba(179,181,198,0.2)", backgroundColor: "#3cba9f", borderColor: "rgba(179,181,198,1)", pointBorderColor: "#fff", pointBackgroundColor: "rgba(179,181,198,1)", }, { label: "unacceptable", // backgroundColor: "red", data: {{ data_cat_driving_unacceptable|safe }}, fill: true, // backgroundColor: "rgba(255,99,132,0.2)", // backgroundColor: "rgba(216, 27, 96, 0.6)", backgroundColor: "rgba(216, 27, 96, 0.6)", borderColor: "rgba(255,99,132,1)", pointBorderColor: "#fff", pointBackgroundColor: "rgba(255,99,132,1)", pointBorderColor: "#fff", }, ] }; var myBarChart = new Chart(ctx_category_driving, { type: 'bar', data: data, options: { responsive: true, maintainAspectRatio: false, barValueSpacing: 20, scales: { yAxes: [{ ticks: { min: 0, } }] } } }); Once reconfigured how would I call it to make it reusable? Any help will be greatly appreciated as I am now learning Django and various web technologies. -
Django form fields
suppose I have one form like: RandonForm(forms.Form): field1 = forms.CharField(blablabla) field2 = forms.CharField(blablalba) And in my views I save this form: index(request): if request.method == 'POST': form = RandonForm(request.POST) form.save() return render(BLABLABLA, {"form": form}) how to return the form just with field1 filled -
Adding two factor authentication in Django/Django Rest
I know this topic has been widely discussed, but most of the examples are about two factor authentication in standard Django templates, while in my case i want to add two factor authentication to a project where Django is used as an API on the backend while the frontend is a native VueJS application. For eveything authentication related, i'm using the built-in Django session authentication, since both frontend and backend are deployed on the same server. My question is: how can i add two factor authentication (using google authenticator or yubikey) to a project where django is used as an API? Here is the problem: the easiest way to do this would be to let the user login from the frontend, and once the user is logged in from /accounts/login (built-in django authentication view), submit a form where the user has to input their code. The problem with this approach is that once the user is logged in Django will create a session, so request.user.is_authenticated will return True even though the user didn't submit the Two Factor code yet, so everything would depend on the frontend. I don't like this approach because i'm afraid that someone might find a way … -
Create with id and get nested structure does not work in django
I have spent already a couple of days researching about this issue in similar questions and I am not able to get a solution. This should be something simple, I have a model: model.py class Item(models.Model): """Class to represent an item...""" label = models.TextField(null=True) name = models.TextField() category = models.ForeignKey( "Category", on_delete=models.SET_NULL, null=True, default=DEFAULT_CATEGORY_ID) class Category(models.Model): """Class to represent the category of an Item. Like plants, bikes...""" name = models.TextField() description = models.TextField(null=True) view.py class ItemViewset(viewsets.ModelViewSet): # pylint: disable=too-many-ancestors """API Endpoint to return the list of items""" queryset = Item.objects.all() serializer_class = ItemSerializer serializer.py class ItemSerializer(serializers.ModelSerializer): """Serializer for Item.""" category = CategorySerializer(read_only=True) class Meta: # pylint: disable=too-few-public-methods """Class to represent metadata of the object.""" model = Item fields = [ 'id', 'label', 'name', 'category'] read_only_fields = ['id'] # def to_representation(self, instance): # ret = super().to_representation(instance) # ret['category'] = CategorySerializer(instance.category).data # return ret def create(self, request): # Look up objects by arbitrary attributes. # You can check here if your students are participating # the classes and have taken the subjects they sign up for. category = get_object_or_404(Category(), id=request.data.get('category')) serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) serializer.save(category=category) headers = self.get_success_headers(serializer.data) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) If I have the line category = CategorySerializer(read_only=True) commented the …