Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
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 … -
Django dumpdata doesn't work with emoji in CharField or TextField
I have a model: class BlogPost(models.Model): description = models.TextField() I created a model instance and assigned it a description with an emoji: >>> BlogPost.objects.create(description='🙂') I run py manage.py dumpdata > data.json and it returns this error: CommandError: Unable to serialize database: 'charmap' codec can't encode character '\U0001f642' in position 1: character maps to <undefined> Exception ignored in: <generator object cursor_iter at 0x0000022F87CCC890> Traceback (most recent call last): File "C:\Users\zackp\.virtualenvs\django_wagtail_emoji_test-aUFzZHWp\lib\site-packages\django\db\models\sql\compiler.py", line 1609, in cursor_iter cursor.close() sqlite3.ProgrammingError: Cannot operate on a closed database. If I just run python manage.py dumpdata, it returns the output (in the command line) as expected. I'm runnning latest version of Django and Python 3.9.2. How do you make it to where you can export from an sqlite3 database to a .json file without that weird error? -
django project takes to base url on refresh?
Below is my web app project in django code it runs fine but when I refresh my page it takes me to the base url rather it should keep me on same page where I reloaded it. I tried to figure it out for quite some time now but is something not clicking to me. TIA. it should not take me to base url because this makes it very hard to share page with others. url.py from django.conf.urls import url from . import views urlpatterns = [ url( r'^new$', view=views.new_ui, name='product.new.ui'), url( r'^new/api/.*', view=views.new_api, name='product.new.api'), url(r'^uploader$', view=views.product_uploader_ui, name='product.uploader.ui'), url( r'^uploader/api/.*', view=views.product_uploader_api, name='product.uploader.api'), ] view.py @user_passes_test(lambda u: u.is_superuser) def product_uploader_ui(request): client = boto3.client('s3') BUCKET = 'tt' FILE_TO_READ = 'index.html' content_object = client.get_object(Bucket=BUCKET, Key=FILE_TO_READ) file_content = content_object['Body'].read().decode('utf-8') return render(request, 'product_uploader_ui.html', { "html" : file_content }) @login_required @user_passes_test(lambda u: u.is_superuser) def new_ui(request): client = boto3.client('s3') BUCKET = 'tt' FILE_TO_READ = '2/index.html' content_object = client.get_object(Bucket=BUCKET, Key=FILE_TO_READ) file_content = content_object['Body'].read().decode('utf-8') return render(request, 'new_ui.html', { "html" : file_content }) @csrf_exempt @user_passes_test(lambda u: True if stage == "local" else u.is_superuser) def new_api(request): # helpers method = request.method route = request.path.replace('/admin/product/new/api', '') print('new_api_audit_log', request.user, method, route) # a whitelist of allowed apis for new_ui to use if method … -
How to set up torsocks with postgresql
Hi When I try to run my Python program The program runs well with torsocks But when the program needs to connect to the database (postgresql) Gives an error and can not How to configure the tor so that our program can find the database? I use the postgresql Photo of Error: It does not matter if my program is a Django or I use a sqlalchemy Cannot find database at all -
How to show UTC time in local timezone in Django view?
I use UTC in my Django app and I want to display the time for my local timezone; 'Europe/Stockholm'. I just can't get this simple thing to work so I must be doing something wrong. I just can't figure out what it is... This is what I have in my settings.py: TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True And this is how I get the date that is passed to my template: my_time = datetime.datetime.utcnow() And finally this is what i have in my template file: {% load tz ‰} {% timezone 'Europe/Stockholm' %}{{ my_time|time }}{% endtimezone %} But whatever timezone I use in {% timezone ... %} the date always read the same 20:31, and the local time should in fact be 22:31. Thankful for any help with this! -
Basic Django urls (home : name not defined)
I'm getting the error : File "E:\2- Formations\1-Programmation\3- PYTHON\1- DASH\1- Apprentissage\dashsite\dashsite\urls.py", line 23, in <module> path('',include(home.urls)), NameError: name 'home' is not defined When I try to runserver / migrate. I'm sucepting a wrong setting cause it should work : My folders organisation Settings.py code which should alowwed my to use the home. : from pathlib import Path from django import apps BASE_DIR = Path(__file__).resolve().parent.parent SECRET_KEY = DEBUG = True ALLOWED_HOSTS = [] INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'home.apps.HomeConfig', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'dashsite.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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', ], }, }, ] WSGI_APPLICATION = 'dashsite.wsgi.application' # Database # https://docs.djangoproject.com/en/3.1/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } # Password validation # https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/3.1/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/3.1/howto/static-files/ STATIC_URL = '/static/' Project : urls.py (dir dashsite): from … -
Cannot have a SlugRelatedField to a FileField in a DRF Serializer?
I have a Model w/ a foreign-key relationship to another Model w/ a FileField. I am unable to serialize the 1st model using a serializer w/ a SlugRelatedField to the file of the 2nd model. Here is some code: models.py: class Foo(models.Model): name = models.CharField(max_length=100) bar = models.ForeignKey(Bar, blank=True, null=True) class Bar(models.Model): file = models.FileField(blank=True, null=True, upload_to="some_path") serializers.py: class FooSerializer(serializers.ModelSerializer): class Meta: model = Foo fields = ("name", "bar") bar = serializers.SlugRelatedField(read_only=True, slug_field="file") But when I try to serialize an instance of Foo I get the following sort of error: UnicodeDecodeError at /api/foo/1/ 'utf-8' codec can't decode byte 0xb5 in position 1: invalid start byte Any suggestions?