Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
I'm Trying to allow multiple user to use jupyter lab for coding online on my website
I want to allow the user to log in to my Django app and have their code separately and should not be allowed to delete the code/Folder/Files which they have not created. For each user, the code should get saved separately Here is the git repository of my tried code https://github.com/Rajput612/django-jupyterlab Any Help Or guidance will be a great help as I want to create this for people who don't have the laptop at their disposal. -
Django-Rest-Framework: documenting parameters of function-based view without model
So, I have a function-based view on a DRF application that looks something like this: from rest_framework.decorators import api_view, permission_classes from rest_framework.response import Response from rest_framework.permissions import AllowAny from rest_framework import status def passcode_generator(callsign: str) -> int: return 0 # Placeholder @api_view(["POST"]) @permission_classes([AllowAny]) def get_passcode(request): callsign = request.data.get("callsign", None) if callsign is None: raise Response( {"error": "Missing callsign"}, status=status.HTTP_400_BAD_REQUEST ) return Response({"passcode": passcode_generator(callsign)}) Clearly, "callsign" is the only expected argument, and it is mandatory. And that "passcode" is the only field in the response. But DRF doesn't know that. This means that DRF's web-browsable API page can't show the HTML form tab, and means that documentation generators can't properly document it: So the question is, how can one document this function-based view? Thanks! -
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 1135-1137: ordinal not in range(256)
I'm trying in Django to render from html to pdf a monthly report that takes data from a database in Hebrew. I have a problem that I have not been able to fix for several days. When I display data in English the pdf works properly and everything is fine, but when I want to display data in the Hebrew language from the database, it does not allow me and the following error appears: 'latin-1' codec can't encode characters in position 1135-1137: ordinal not in range(256) I have already tried a several solutions: I changed the font several times in the base html of the PDF via the css and it just does not help at all. I tried to change the rendering function I have at the moment and it also did not help at all. My rendering function : def render_to_pdf(template_src, context_dict={}): template = get_template(template_src) html = template.render(context_dict) result = StringIO.StringIO() pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result) if not pdf.err: return HttpResponse(result.getvalue(), content_type='application/pdf') return None -
Reverse for 'Newsdetail' with arguments '('',)' not found. 1 pattern(s) tried:Django error
In the following links direct to same URL name with different params, <div onclick="location.href='{% url 'newscountry' 'Saudi' %}'"> x </div> <div "onclick="location.href='{% url 'newscountry' 'UAE' %}'"> y </div> However when the second div element is clicked it gives an error, but the first link works fine. URL.PY path('country/<str:countryname>/',NewsCountryView.as_view(),name='newscountry'), VIEW.PY class NewsCountryView(ListView): model = News template_name = 'newsfront/index.html' # <app>/<model>_<viewtype>.html context_object_name = 'news' def get_queryset(self): country=self.kwargs.get('countryname') return News.objects.filter(country=country) -
Can't set $(element).innerText after including in-browser babel to a django project
The moment I included babel, the following snippet stopped working as before. Perhaps it's because of the absence of a module bundler. I need react just for one UI component. index.js document.addEventListener('DOMContentLoaded', () => { document.querySelector('#' + VIEWS.profile).innerText = 'profile' }) index.html <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> <script type="text/babel" src="{% static 'network/index.js' %}"></script> The querySelector query returns the target element when tested in console under the same execution context. Babel reports, You are using the in-browser Babel transformer. Be sure to precompile your scripts for production Moreover, babel makes it hard to debug js in the browser. Is there any way around this? -
Password is not hashed on User model update
I have extended the AbstractUser model in django. When I post the SignUp form from Postman, the password gets hashed. But after sending the Put method in Postman for changing the password, the password gets showed in Django admin as it is not getting hashed. Models.py class User(AbstractUser): """This Class is used to extend the in-build user model """ ROLE_CHOICES = (('CREATOR','CREATOR'),('MODERATOR','MODERATOR'),('USERS','USERS')) GENDER_CHOICES = (('MALE','MALE'),('FEMALE',"FEMALE"),('OTHER','OTHER')) date_of_birth = models.DateField(verbose_name='Date of Birth', null=True) profile_image = models.ImageField(upload_to='media/profile_images', verbose_name='Profile Image', default='images/default.webp', blank=True) bio = models.TextField(verbose_name='Bio') role = models.CharField(max_length=10, verbose_name='Role', choices=ROLE_CHOICES) gender = models.CharField(max_length=6, verbose_name='Gender', choices=GENDER_CHOICES) Serializers.py from django.contrib.auth import get_user_model User = get_user_model() class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('first_name','last_name','username','password','email','date_of_birth', 'profile_image','bio','role','gender') extra_kwargs = {'is_active':{'write_only':True}, 'password':{'write_only':True}} def create(self, validated_data): return User.objects.create_user(**validated_data) Views.py from oauth2_provider.contrib.rest_framework import TokenHasReadWriteScope, TokenHasScope from users.serializers import UserSerializer from users.models import User class UserAPI(viewsets.ModelViewSet): serializer_class = UserSerializer queryset = User.objects.all() permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope] I tried it in these way also by overwriting the serializers.py class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('first_name','last_name','username','password','email','date_of_birth', 'profile_image','bio','role','gender') extra_kwargs = {'is_active':{'write_only':True}, 'password':{'write_only':True}} def create(self, * args, ** kwargs): user = super().create( * args, ** kwargs) p = user.password user.set_password(p) user.save() return user def update(self, * args, ** kwargs): user = super().update( … -
how to resolve (1045, "Access denied for user 'User'@'IP or host' (using password: YES)") when build django docker container?
Well, I have multiple databases in django project. One is default and second istest_dev. i have created docker container. and then everything went well till building the container. after that When I try to call my django app api which is using test_dev db for reading data. I have encountered: OperationalError at /api/projects/ (1045, "Access denied for user 'test_dev'@'133.98.72.111' (using password: YES)") In settings file, my databases configuration: { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': Path(__file__).resolve().parent.parent / 'db.sqlite3', }, "test_dev" : { 'ENGINE': 'django.db.backends.mysql', 'NAME': "test_dev", 'USER': 'user', 'PASSWORD': 'db_password', 'HOST': '?=hosted_domain', 'PORT': '3306', 'SSL': True } } If you know any solution. Please help me out of this. Soon I have to put things on production.. -
Connect django+reactjs+firebase
How to send form data to firebase database via Django I connected Django to firebase ,how would I connect ReactJs to Django to send form data to firebase database using validation in python. If anyone has Github profile please paste it here so that I can take reference. -
Can't install opencv package in a Raspberry pi
So I am doing a face recognition project in a Raspberry Pi. It is a django project and when I run the server I get this error: AttributeError: module 'cv2' has no attribute 'face' I searched for the error and I came up with that I needed to install opencv-contrib-python The problem is that when I try to install it the download gets to 99% and I get this: 'pip3 install opencv-contrib-pyt…' terminated by signal SIGKILL (Forced quit). Does anyone know why this happens? how can I fix this? help is much appreciated -
How to create dynamic URL in Django when form is submitted
I am building a website in django where user search for student data by entering the roll number of the student. For example if user enters the roll number 001 in the form then student data should be fetch from database and Url should be https://www.studentdata.com/001 Similarly if user enters roll number 003 then the url should be https://www.student.com/003 and so on. I want to build website where I need to show thousands of student data. -
JSONDecodeError at / Expecting value: line 1 column 1 (char 0) when try to return response in a django rest_framework
I'm new to python rest_framework. I am trying to create a django website with two Apps. The first App has an HTML form which gets a city name from the user and then sends a request to the API in the second App, calls WeatherApp. In the WeatherApp I read data from database and serialize it but when trying to return response, I get this error: JSONDecodeError at / Expecting value: line 1 column 1 (char 0) This is the first App views: def index(request): context = {'form': form} if request.method == 'POST': form = CityForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] url = "http://127.0.0.1:8000/city/{}" city_weather = requests.get(url.format(name)).json() This is the WeatherApp views: def myfunc(self, cityname): query = City.objects.filter(name = cityname)[0] serializer = CitySerializer(query) return Response(serializer.data) This is the serializer: class CitySerializer(serializers.ModelSerializer): class Meta: model = City fields = ("id", "name", "temperature") And this is my model: class City(models.Model): name = models.TextField(max_length=150) temperature = models.IntegerField(max_length=200, default=40) LastUpdate = models.DateTimeField(default= datetime.now) def __str__(self) -> str: return self.name When I debug the code, the error appears at return self.name in the model. Any help would be appreciated. -
How to upload a folder into a model field(In Admin panel), which will create an object for each file inside of that folder in Django?
I have a folder with 100 plus audio files from the same author. It would take time for me to upload each file separately to create 100 plus objects. What I want to do is in a model of the Author I want to have a field where I can upload a folder with all the audio files, which will then create a separate object for each audio file in that folder. -
Django OneToOneField Default value?
Hello Django OneToOneField Default value Inventory model class Inventory(models.Model): user = models.OneToOneField(User, null=True, on_delete=models.CASCADE) energy = models.OneToOneF`ield(Product, default="Products.energy", null=True, on_delete=models.CASCADE) Products model class Product(models.Model): name = models.CharField(max_length=255) cost_for_sale = models.IntegerField() cost_for_buy = models.IntegerField() def __str__(self): return f'{self.name}' -
Error "ModuleNotFoundError: No module named 'psycopg2'" when deploying Django app to Google App Engine
I'm working on a Django application and using Fabric for deployment. When I deployed the apps to staging in Google App Engine using fab testing, I got this error: Updating service [staging] (this may take several minutes)...failed. ERROR: (gcloud.app.deploy) Error Response: [9] An internal error occurred while processing task /app-engine-flex/flex_await_healthy/flex_await_healthy>2022-01-01T09:48:30.226Z15496.fj.0: Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/env/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line utility.execute() File "/env/lib/python3.6/site-packages/django/core/management/__init__.py", line 347, in execute django.setup() File "/env/lib/python3.6/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/env/lib/python3.6/site-packages/django/apps/registry.py", line 89, in populate app_config = AppConfig.create(entry) File "/env/lib/python3.6/site-packages/django/apps/config.py", line 116, in create mod = import_module(mod_path) File "/opt/python3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/env/lib/python3.6/site-packages/django/contrib/postgres/apps.py", line 8, in <module> from .signals import register_type_handlers File "/env/lib/python3.6/site-packages/django/contrib/postgres/signals.py", line 3, in <module> import psycopg2 ModuleNotFoundError: No module named 'psycopg2' I'm sure the psycopg2 has been installed successfully earlier. Here's the list installed dependencies after checking by pip list: ... platformdirs 2.4.0 prompt-toolkit 3.0.24 … -
django rest frame work, i was trying to create an exchange rate that compare the first currency to the second currency and print the value of second
from Django .shortcuts import render import requests from exchange rate .models import Exchange rate from . serialize import Exchange rate Serialize from rest framework .response import Response from rest_ framework import view sets from .models import Exchange rate class Exchange value(view sets .Model View Set): query set=Exchange rate .objects .all() serialize _class = Exchange rate Serialize def get(request, rate1, rate2): if request .method =='POST': url="https://api.exchangerate-api.com/v4/latest/USD" res=requests .get( URL ) result =res .Jason () try: if rate1 in result: return render(request ,result[rate2]) except Exception as e: print("currency could not be process") -
Why does this show when i try to add image on Django?
Cant add image into user This is what it show in the page : <django.db.models.fields.files.ImageField> add i need the bar that add the picture, the forms and models seem correct and i install the pillow enter image description here -
How to get original host in django using proxy?
I use nginx proxy for a django application. And I want request.META['HTTP_HOST'] parameter to get my real host. So I use USE_X_FORWARDED_HOST setting parameter. But request.META['HTTP_HOST'] still gets wrong value from proxy. nginx location / { proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://backend:8000; } django settings USE_X_FORWARDED_HOST = True SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') parts of request.META variable 'HTTP_HOST': 'backend:8000', 'HTTP_X_FORWARDED_PROTO': 'http', 'HTTP_X_FORWARDED_HOST': 'localhost', 'HTTP_X_FORWARDED_SERVER': 'localhost', 'HTTP_X_FORWARDED_FOR': '192.168.240.1' Why USE_X_FORWARDED_HOST setting doesn't work? I use Django 4.0. -
About TailwindCSS with Django
I want to use Tailwind CSS in Django project. When googling, I found following two ways. Use CDN Use Tailwind CLI tool Using CDN is simpler, so I will use CDN, but doc says that CDN is not the best way. Then I have questions. Why Using CDN is not the best choice? Which is better? -
django: html submit form and display result in smae page without jumping/rereshing into new page
I am new to django and html. below is my first test web page of a simple online calculator. I found a problem that when clicking the "submit" button, it tends to jump to a new web page or a new web tab. this is not what I want. Once the user input the data and click "submit" button, I want the "result" field on the page directly show the result (i.e. partially update only this field) without refresh/jump to the new page. Also I want the user input data kept in the same page after clicking "submit". I saw there might be several different ways to do this work, iframe/AJAX. However, I have been searching for answers for 5 days and none of the answers really work for this very basic simple question!! html: <form method="POST"> {% csrf_token %} <div> <label>num_1:</label> <input type="text" name="num_1" value="1" placeholder="Enter value" /> </div> <div> <label>num_2:</label> <input type="text" name="num_2" value="2" placeholder="Enter value" /> </div> <br /> <div>{{ result }}</div> <button type="submit">Submit</button> </form> view.py def post_list(request): result = 0 if request.method == "POST": num1 = request.POST.get('num_1') num2 = request.POST.get('num_2') result = int(num1) + int(num2) print(request.POST) print(result) context = { 'result': result } return render(request, 'blog/post_list.html', … -
Import "django.urls" could not be resolved from sourcePylancereportMissingModuleSource
I am getting default django homepage while I have linked urls perfectly. and if i run it is saying that django module is not present (Import "django.urls" could not be resolved from sourcePylancereportMissingModuleSource). While I have started the project with Django, -
Why the ip address captured by HTTP_X_FORWARDED_FOR is diferrent from the address shown in the device
I want some clarification regarding ip address captured by HTTP_X_FORWARDED_FOR. In my website I am storing the ip address of the visitors to count the number of visits. The code that I am using for this is this function is used to capture the ip def get_ip(request): try: ip_forward = request.META.get('HTTP_X_FORWARDED_FOR') if ip_forward: ip = ip_forward.split(",")[0] print("returning forwarded for ip address", ip) elif request.META.get('HTTP_X_REAL_IP'): ip = request.META.get('HTTP_X_REAL_IP') print ("returning REAL_IP ", ip) else: ip = request.META.get('REMOTE_ADDR') print("returning remote address ", ip) except: ip= "" return ip after the above function is called on the index view it is then passed to this function for storing the ip def visitor_count(ip): visitor = VisitorCount() visitor.ip = ip visitor.date_of_record = datetime.now() if VisitorCount.objects.all().filter(ip = visitor.ip ,date_of_record__icontains= datetime.today().date()).exists(): pass print("the ip", visitor.ip,"recorded on", visitor.date_of_record ,"already exists and wil not be saved") else: print('this is the ip address of the user that has been saved', visitor.ip) visitor.save() return "saved" as you can see it prints what it is doing. My site is hosted in heroku (if that metters). I went through some satckoverflow questions but could not find an ans to what I wanted to. Now suppose when I am going to the site, and … -
resubmitting some fields inside a form resets choicefields
I made a form inside a user detail page where the superuser can fill them or update them. this is the model form I'm using: class PsychologicInfo(models.Model): id = models.AutoField(primary_key=True) user = models.ForeignKey(User, on_delete=models.CASCADE) question1 = models.TextField(null=True, blank=True) question2 = models.TextField(null=True, blank=True) question3 = models.TextField(null=True, blank=True) info1 = models.CharField(max_length=64, choices=SURVEY_INFO1_CHOICES, blank=True) info2 = models.CharField(max_length=64, choices=SURVEY_INFO2_CHOICES, blank=True) info3 = models.CharField(max_length=64, choices=SURVEY_INFO3_CHOICES, blank=True) final_assessment = models.TextField(null=True, blank=True) is_interviewed = models.BooleanField(default=False) def save(self, *args, **kwargs): if self.info1: self.is_interviewed = 'True' super(PsychologicInfo, self).save(*args, **kwargs) however, when I enter the user detail page and try to update some fields, for instance, the final assessment field, all the choice fields(info1,info2,info3) get reset! but other fields stay the same so whenever I want to edit a field, I need to fill those choice fields again. this is the view I wrote: class PsychologicInfoView(FormMixin, DetailView): model = PsychologicInfo template_name = 'reg/psychologic-info.html' form_class = PsychologicInfoForm def get_success_url(self): return reverse('psychologic-info', kwargs={'pk': self.object.pk}) def get_context_date(self, **kwargs): context = super(PsychologicInfoView, self).get_context_data(**kwargs) context['form'] = PsychologicInfoForm() return context def post(self, request, pk): self.object = self.get_object() form = PsychologicInfoForm(request.POST, instance=get_object_or_404(PsychologicInfo, id=pk)) if form.is_valid(): return self.form_valid(form) else: return self.form_invalid(form) def form_valid(self, form): f = form.save(commit=False) f.user = self.object.user f.save() return super(PsychologicInfoView, self).form_valid(form) and this is my … -
django.core.exceptions.ImproperlyConfigured: Set the DATABASE_URL environment variable
I annotate text data (building data sets for named entity recognition models) using AlpacaTag, which was designed using Python on Django. I followed the steps of GitHub's[[AlpacaTag]][1] Reamde. When I run the command python manage.py migrate (I come to find information, to know this is the Django's command of database migration), The program threw an exception: Traceback (most recent call last): File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/environ/environ.py", line 367, in get_value value = self.ENVIRON[var] File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/os.py", line 669, in __getitem__ raise KeyError(key) from None KeyError: 'SECRET_KEY' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.argv) File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line utility.execute() File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/core/management/__init__.py", line 413, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/core/management/base.py", line 354, in run_from_argv self.execute(*args, **cmd_options) File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/core/management/base.py", line 398, in execute output = self.handle(*args, **options) File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/core/management/base.py", line 86, in wrapped saved_locale = translation.get_language() File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/utils/translation/__init__.py", line 254, in get_language return _trans.get_language() File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/utils/translation/__init__.py", line 57, in __getattr__ if settings.USE_I18N: File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/conf/__init__.py", line 82, in __getattr__ self._setup(name) File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/conf/__init__.py", line 69, in _setup self._wrapped = Settings(settings_module) File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/site-packages/django/conf/__init__.py", line 170, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "/home/duzx21/miniconda3/envs/alpacatag/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, … -
Auto fill rate field depending on the option selected in django
from django.db import models Create your models here. class Course(models.Model): course = models.CharField(max_length=50, blank=True, null=True) duration = models.CharField(max_length=50, blank=True, null=True) charges = models.IntegerField(default= '0', blank=True,null=True) description = models.CharField(max_length=200, blank=True, null=True) def __str__(self): return self.course class Meta: db_table = "course" class Student_Details(models.Model): gender = ( ("1", "Male"), ("2", "Female"), ("3", "Other"), ) course = models.ForeignKey(Course, on_delete=models.CASCADE,blank=True) roll = models.IntegerField(default= '0', blank=True,null=True, unique=True) dob = models.DateField(blank=True,null=True) stu_name = models.CharField(max_length=50, blank=True, null=True) contact_no = models.CharField(max_length=50,blank=True, null=True) email = models.EmailField(max_length=50,blank=True, null=True) gender = models.CharField(max_length=50, blank=True, null=True, choices=gender) state = models.CharField(max_length=50, blank=True, null=True) city = models.CharField(max_length=50, blank=True, null=True) pin = models.IntegerField(blank=True, null=True) address = models.CharField(max_length=50, blank=True, null=True) admission_date = models.DateField(auto_now_add=False, auto_now=False, blank=True, null=True) last_updated = models.DateTimeField(auto_now_add=False, auto_now=True) timestamp = models.DateTimeField(auto_now_add=True, auto_now=False) def __str__(self): return self.stu_name class Meta: db_table = "student_detail" class StudentResult(models.Model): select_student = models.ForeignKey(Student_Details, on_delete=models.CASCADE,blank=True) # name = models.CharField(max_length=55,blank=True, null=True) course = models.CharField(max_length=55,blank=True, null=True) marks = models.IntegerField() full_marks = models.IntegerField() def __str__(self): return self.name class Meta: db_table = "student_result" -
Search Functionality
django, this search functionality is working but data is not displaying on the template. I'm beginner in django. Please help me view.py: def search(request): search_machinename = request.GET.get('q') if (search_machinename is not None) and search_machinename: machinename = Item.objects.filter(QuerySet(machinename__icontains=search_machinename) | QuerySet(operationno__icontains=search_machinename)) if not machinename: machinename = Item.objects.all() context = {'machinename': machinename} return render(request, 'usermaster/item-form.html', context) Template file: item-form.html: Webpage of this template <form action="{{url.search}}" method='get' value='{{ request.get.q }}' enctype="multipart/form-data"> {% csrf_token %} {{fields}} <input type="text" name="q" value='{{ request.GET.q }}'> <button type="submit">Search</button> <table> {% for data in machinename %} <tr> <td>{{ data.machine_name }}</td> <td>{{ data.operation_no }}</td> </tr> {% endfor %} </table> </form> code is working but it is not displaying on webpage