Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Getting 'crbug/1173575, non-JS module files deprecated' error when running 'npm run dev' with React and Django. How can I resolve this issue?
I'm developing a project using Django as an API, with React as the frontend. I'm following a tutorial on Youtube: https://www.youtube.com/watch?v=YEmjBEDyVSY&list=PLzMcBGfZo4-kCLWnGmK0jUBmGLaJxvi4j&index=4 When I run npm run dev it compiles everything successfully, however, when I head to my website I receive the error 'crbug/1173575, non-JS module files deprecated.' I can get my website to run by using python manage.py runserver simultaneously, but in the tutorial, he doesn't do that at all and only uses npm run dev. Package.json: { "name": "frontend", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "webpack --mode development --watch", "build": "webpack --mode production" } -
Access blocked: Authorization Error - The OAuth client was not found
i'm working on a Django project and i want to implement the "Login via Google" functionality i've created a new app and got its credentials (Client ID and Client Secret) and i've put them in my Django's project dashboard properly but i'm getting this "Error 401: invalid_client" . i have added my client id and secrete key using the code below SOCIAL_AUTH_GOOGLE_OAuth2_KEY='96637591302-7e0hla5amsv2hmibgi704ehd0v5n8dsl.apps.googleusercontent.com' SOCIAL_AUTH_GOOGLE_OAuth2_SECERET='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' thanks i am trying to add login via a google functionality .but its giving an error 401 client-id not found -
Login Authentication for custom user model
I have custom user model. I am able to signup but when it comes to login and logout, i have no idea what is happening. Login Form is not logging in the user when I submit the form, it just says the user with that username already exists (it is kind of acting like signup page) How to resolve this issue #models.py from django.db import models from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, PermissionsMixin # Create your models here. class Organisation(models.Model): organisation_name = models.CharField(max_length = 256) contact_no = models.IntegerField() email = models.EmailField() class Meta(): unique_together = ['organisation_name','email'] def __str__(self): return self.organisation_name class MyUserManager(BaseUserManager): def create_user(self, username, organisation, email, password): if not organisation: raise ValueError("Users must have an organisation") email = self.normalize_email(email) user = self.model(username=username, email=email, organisation=organisation) user.set_password(password) user.save(using=self.db) return user def create_superuser(self, username, email, password): user = self.model(username=username, email=self.normalize_email(email)) user.set_password(password) user.is_superuser = True user.is_staff = True user.save(using=self.db) return user class MyUser(AbstractBaseUser): username = models.CharField(max_length=256,unique=True) email = models.EmailField(max_length=256) organisation = models.ForeignKey(Organisation,on_delete=models.CASCADE,null=True) is_staff = models.BooleanField(default=False) USERNAME_FIELD = "username" REQUIRED_FIELDS = ['email'] objects = MyUserManager() def __str__(self): return self.username def has_perm(self, perm, obj=None): return True def has_module_perms(self, app_label): return True #forms.py from . import models from django import forms class MyUserForm(forms.ModelForm): class Meta(): model = … -
models.BooleanField(default=False) returning True instead of false
issevenDisabled=models.BooleanField(default=False) issevenSaved=models.BooleanField(default=False) iseightDisabled=models.BooleanField(default=False) iseightSaved=models.BooleanField(default=False) output: "issevenDisabled": true, "issevenSaved": true, "iseightDisabled": true, "iseightSaved": true, -
how to query the fields when taking dump from a single table?
I have a table in to the postgres db name is "drf_api_logs", and I want to filter this table and dump data ... filter like this: two_month_ago = datetime.now().date() - timedelta(days=60) APILogsModel.objects.filter(~Q(added_on__date__gte=two_month_ago)) and i want to dump data like this: cmd = f'PGPASSWORD={config("DB_PASSWORD")} /usr/bin/pg_dump --dbname={config("DB_NAME")} --table=drf_api_logs --file={dir}/{log_name} --username={config("DB_USER")} --host={config("DB_HOST")} --port=5432' how can I do this filter when dumping i try this one, but not work :/ month_ago = datetime.now().date() - timedelta(days=60) cmd = f'PGPASSWORD={config("DB_PASSWORD")} /usr/bin/pg_dump --dbname={config("DB_NAME")} --table=drf_api_logs --where=added_on__date__gte={month_ago} --file={dir}/{log_name} --username={config("DB_USER")} --host={config("DB_HOST")} --port=5432' -
Accessing array in django template
I have given time = [ 5 , 7 , 10 , 15 , 30 , 50 , 70 , 100 , 120 , 150 ] , stocks = [1 ,2 ,3, 4, 5, 6, 7, 8, 9, 1] , and repetation = [ 0 , 1 , 2, 3, 4 ,5 , 6 ,7, 8, 9] Now i want to access time and stocks according to the repetation array like time[0] , time[1] like time[repetation first value ] and so on. {% for n in repetation %} <div class="stockDataDiv"> <span> {{ time.n }} </span> <span> {{ stockRequired.n }} </span> </div> {% endfor %} This is the code that i tried but couldn't find a solution. -
python manage.py runserver not working on Windows
I am currently learning Python and Django, trying to use the runserver command, python manage.py runserver, but it has not been working. It gives me bunch of lines of errors which I have the screenshots attached. If you do have a solution, thank you in advance. [enter image description here](https://i.stack.imgur.com/x7OG7.png) I tried adding a specific local port to get it working which did not. I need it to create a local port to a webpage -
How to fix multivalue dict key error in django
How to fix multivalue dict key error in django plz fix this problem How to fix multivalue dict key error in djangoHow to fix multivalue dict key error in django How to fix multivalue dict key error in djangoHow to fix multivalue dict key djangoHow to fix multivalue dict key error in djangoHow to fix multivalue dict key django -
How to cancel (terminate) a running task in celery? Already tried using "AsyncResult(task_id).revoke(terminate=True)", but it doesn't work
In the django project, I use celery to run asynchronous tasks. I want to implement a function to cancel the running task. The official documentrevoke: Revoking tasks says that the "revoke(terminate=True)" method can be used. I tried it but it didn't work. Here are some ways I've tried: ... task = AsyncResult("1e8fb3f3-4253-4bec-b71a-665ba5d23004") print(task.state) 'STARTED' task.revoke(terminate=True) print(task.state) 'STARTED' app.control.revoke("1e8fb3f3-4253-4bec-b71a-665ba5d23004", terminate=True) print(task.state) 'STARTED' And eventually it still executes to completion. Has anyone encountered a similar problem? Or is there another way to achieve my needs in celery? Any help would be greatly appreciated! -
Pass request to django-filters custom widget
I'm trying to create a filter like the one in the image below (from Fiverr), it is a combination of select with options as inputs, I was able to create the widget and select an option and send its sub-input values on submit, but after the loading the values are gone and no option is selected, because the radio select value is not specified by the field so i need to get it directly from the request.GET, but i couldn't pass the reqeust to the widget, i'm seeing it on the Filter class but not in widget. My Custom Filter: `class PriceFilter(Widget): template_name = 'widgets/PriceFilter.html' def __init__(self, attrs=None, min=0, max=5000, *args, **kwargs): self.min = min self.max = max # print(self.request) print(kwargs) super(PriceFilter, self).__init__() def get_context(self, name, value, attrs=None, *args, **kwargs): context = super().get_context(name, value, attrs) context['min'] = self.min context['max'] = self.max print(self.request) print(kwargs) return context` My widget template ` Clickable inside <input class="form-check-input" type="radio" name="{{widget.name}}__selector" id="{{widget.name}}__selector" #if request.GET.price__selector==1 then ceck this#> Default radio ` My Filter `class ListFilter(django_filters.FilterSet): price = django_filters.NumberFilter(widget=PriceFilter()) class Meta: model = MainModel fields = { 'name':['contains'],'price':[] } def __init__(self, *args, **kwargs): print('kwgs') # print(args[0]) self.request = kwargs.pop('request', None) super(ListFilter, self).__init__(*args, **kwargs) self.filters["price"].request = args[0] ` -
In Dajngo, does the UserCreationForm or its parent classes handle the POST and GET logic? Or how is that handled?
I am new with django and going over some code that I don't understand. I looked through the django source code trying to find out if the class UserCreationFrom (pasted below) from Django handles the logic of POST for you, or if this is implemented elsewhere. To clarify, I have been seeing a class used for rendering the form then some type of view validating the data. It typically goes like: Form Class: class UserForm(forms.ModelForm): class Meta: model = User fields = ("first_name", "last_name") View: def update_profile(request): if request.method == "POST": user_form = UserForm(request.POST, instance=request.user) if user_form.is_valid(): user_form.save() return redirect("somewhere") else: user_form = UserForm(instance=request.user) return render(request, "profile.html", {"user_form":user_form}) That implementation makes sense. What I don't get is when there is a view that renders the form but then the form itself handles validation and leaves out the if request.method == "POST" logic as shown above. Or is this in some parent class? Is either one of these inline with django convention as well? An example: Class View: class UserSignupView(CreateView): model = CustomUser form_class = UserProfileSignupForm template_name = 'signup_form.html' def get_context_data(self, **kwargs): kwargs['is_confused'] = True return super().get_context_data(**kwargs) def form_valid(self, form): user = form.save() login(self.request, user) return redirect('somewhere') Then the form with … -
GCP-Django-IP Address based error: write EPROTO error:100000f7 OPENSSL_internal
This is among the strangest issues I have seen. When I make a postman GET api call to this url in the US, I do not have any problems, it gives me the JSON I need. However, when I make the same API call in Canada (even using the same computer), it gives the following error: Error: write EPROTO error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:../../third_party/boringssl/src/ssl/tls_record.cc:242: You don't need Postman, you can also just navigate to the url to see the response. The API is hosted on GCP (Google Cloud Platform) and uses the Python Django framework. There's no IP Address restrictions that I setup personally I have gone through several responses with this error, but none have any solution that worked, and I'm not sure what to look for now -
Dropdown values for django form not showing up in view
I am trying to make a todo app in django but I am not able to get a dropdown to set a category populate. This is what the form looks like when I render everything: What I am expecting was that the dropdown would have the options 'Personal' and 'Professional' This is my model: from django.db import models class Category(models.Model): CATEGORY = (('Personal', 'Personal'), ('Professional', 'Professional')) type = models.CharField(max_length=100, null=True, choices=CATEGORY) def __str__(self): return self.type class Item(models.Model): created_at = models.DateTimeField(auto_now=True) task = models.CharField(max_length=200) completed = models.BooleanField(default=False) category = models.ForeignKey( Category, on_delete=models.SET_NULL, null=True) def __str__(self): return (f"{self.created_at}: {self.task}") This is the form I am trying to use: from .models import Item from django import forms class AddItem(forms.ModelForm): class Meta: model = Item fields = ['task', 'category'] This is the template: <div> <h1>Your todo task</h1> <br> <form method="POST" action="{% url 'home' %}"> {% csrf_token %} {{ form }} <button type="submit" class="btn btn-secondary">Add a task</button> </form> </div> Thank you for your time and any information you can provide. -
Solve Django Rest Framework TypeError: Cannot set GeoPoint SpatialProxy (POINT) with value of type: <class 'dict'>
I am working with Django, Django Rest Framework, Django Rest Framework GIS and POSTgis database to create an endpoint that should upload a geografical point and all its related information. I have defined a Model, Serializer and View for that purpose. But when making a request using postman i am getting the following error: TypeError: Cannot set GeoPoint SpatialProxy (POINT) with value of type: <class 'dict'> I am currently working with: Django==3.2.16 djangorestframework==3.12.0 djangorestframework-gis==1.0 Model definition: from django.contrib.gis.db import models from django.utils.translation import gettext_lazy as _ class GeoPoint(models.Model): POINT_TYPE_CHOICES = ( ("limite_cusaf","Límite CUSAF"), ("limite_cusaf_di","Límite CUSAF y DI"), ("limite_2_di","Límite 2 DI"), ("limite_3_di_mas","Límite 3 DI o más"), ("otros","Otros"), ) geom = models.PointField(verbose_name=_("Localización"), srid=4326) id_cusaf = models.CharField(_("ID CUSAF"), max_length=50) code = models.CharField(_("Código Punto"), max_length=50) point_type = models.CharField(_("Tipo de Punto"), max_length=50, choices=POINT_TYPE_CHOICES) observations = models.TextField(_("Observaciones"), null=True, blank=True) def __str__(self): return self.cod_punto class Meta: db_table = 'aggregate_geopunto' managed = True verbose_name = 'Punto' verbose_name_plural = 'Puntos' Serializer: from rest_framework_gis.serializers import GeoFeatureModelSerializer class GeoPointSerializer(GeoFeatureModelSerializer): class Meta: model = GeoPoint geo_field = "geom" fields = ('id','geom','id_cusaf','code', 'point_type','observations',) read_only_fields = ['id',] View: class GeoPointAPICreate(generics.CreateAPIView): authentication_classes = [] permission_classes = () queryset = GeoPoint.objects.all() serializer_class = GeoPointSerializer This is the image of the POSTman request: { "type": "Feature", "geometry": … -
Django Many To Many table filter makes too many sql queries
I'm filtering my Department model with django_filters. But it makes too many queries. How can I fix it? # models.py class Branch(models.Model): name = models.CharField(max_length=100) class Meta: verbose_name_plural = "Branches" def __str__(self): return self.name class Department(models.Model): name = models.CharField(max_length=100) branch = models.ManyToManyField(Branch, related_name="department") def __str__(self): return self.name _ # views.py class DepartmentListAPIView(generics.ListAPIView): queryset = Department.objects.all() serializer_class = DepartmentSerializer filter_backends = (filters.DjangoFilterBackend,) filterset_class = DepartmentFilter _ # serializers.py class DepartmentSerializer(serializers.ModelSerializer): class Meta: model = Department fields = "__all__" _ # filters.py class DepartmentFilter(filters.FilterSet): branch = filters.CharFilter(field_name="branch__id", lookup_expr="in") class Meta: model = Department fields = "__all__" -
Creating a superuser in custom user model
I have a custom user model as follows. When i try to create a superuser, it asks me organisation (organisation_id) which i don't want to give for superusers(because it makes sense only if the users give the organisation, as i need create a superuser just to view database and also superusers don't fall under any organisation). So what should i do to rectify this problem. #models.py from django.db import models from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, PermissionsMixin # Create your models here. class Organisation(models.Model): organisation_name = models.CharField(max_length = 256) contact_no = models.IntegerField() email = models.EmailField() class Meta(): unique_together = ['organisation_name','email'] def __str__(self): return self.organisation_name class MyUserManager(BaseUserManager): def create_user(self, username, organisation, email, password): email = self.normalize_email(email) user = self.model(username=username, email=email, organisation=organisation) user.set_password(password) user.save(using=self.db) return user def create_superuser(self, username, email, password, organisation): user = self.create_user(username=username, email=email, password=password,organisation=organisation) user.is_superuser = True user.is_staff = True user.save() return user class MyUser(AbstractBaseUser): username = models.CharField(max_length=256,unique=True) email = models.EmailField(max_length=256) organisation = models.ForeignKey(Organisation,on_delete=models.CASCADE,null=True) USERNAME_FIELD = "username" REQUIRED_FIELDS = ['email','organisation'] objects = MyUserManager() def __str__(self): return self.username #views.py class Create_Accounts(CreateView): model = models.MyUser fields=('__all__') template_name = 'accounts/create_account.html' success_url = reverse_lazy("accounts:inner_index") #settings.py AUTH_USER_MODEL = 'accounts.MyUser' -
How to get mail after filling contact form using Django
If the user fills the contact form and submits it, how can the details filled in the contact form be mailed to the admin using this mail? Am I storing the contact details in database but they should come through mail Please help thanks -
How to make telegram bot constructor?
I need to make a website in django that creates single telegram bots. The user enters the bot token and the site creates and launches the bot. But I don't know how to do it, what to use and how to run how many telegram bots? Is it even possible to do this? I searched for the source codes of similar sites but did not find anything useful Thanks in advance for your replies. -
How to create i18n switcher for Django Admin?
I could create i18n switcher for English and French below in Django following The set_language redirect view and this is how I set up translation(English and French) in Django. *I use Django 4.2.1: # "core/settings.py" from django.contrib import admin from django.urls import path, include from django.conf.urls.i18n import i18n_patterns urlpatterns = i18n_patterns( path('admin/', admin.site.urls), path("my_app1/", include('my_app1.urls')), ) urlpatterns += [ path("i18n/", include("django.conf.urls.i18n")) ] # "templates/index.html" {% load i18n %} <form action="{% url 'set_language' %}" method="post">{% csrf_token %} <input name="next" type="hidden" value="{{ redirect_to }}"> <select name="language"> {% get_current_language as LANGUAGE_CODE %} {% get_available_languages as LANGUAGES %} {% get_language_info_list for LANGUAGES as languages %} {% for language in languages %} <option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected{% endif %}> {{ language.name_local }} ({{ language.code }}) </option> {% endfor %} </select> <input type="submit" value="Go"> </form> {% translate "Hello" %} {% trans "World" %} Then, I can switch French to English as shown below: And, I can switch English to French as shown below: But, I don't know how to create it for Django Admin. So, how can I create i18n switcher for Django Admin? -
Django API header cannot be fetched
Frontend is sending POST request with code and then I want to return qr code and a token. When I try to fetch 'token' header it returns none @api_view(['POST']) @csrf_exempt def Create_new_doc(request): code = json.loads(request.body) code = code['code'] characters = string.ascii_letters + string.digits token = ''.join(random.choice(characters) for _ in range(20)) generate_qr_code.generate_qr(token) image_path = f"/files/qr_{token}.jpg" image_file = open(image_path, 'rb') response = FileResponse(image_file, content_type='image/jpeg') response['token'] = token response.status_code = 200 return response This is frontend part - getting image url works just fine fetch('http://127.0.0.1:8000/create-new', requestOptions) .then((response) => { if (response.ok) { return response.blob().then((blob) => { var tokeN = response.headers.get('token'); console.log(response.headers.get('token')) console.log('Token:', tokeN); const imageUrl = URL.createObjectURL(blob); console.log('Image URL:', imageUrl); return { tokeN, imageUrl }; }); } Yeah, literary have no idea why it does not work -
How to run an infinite loop function in django celery on startup?
I want to make a django website that will display data from the database. And the parser will add information to this database. And I want to make it so that during the launch of the site it also starts (only once) and parses information in an endless loop. Or make it so that django celery calls a function, but only if this function is not already called. And I would like to know how to do it. I tried to write this in the view.py file from .tasks import my_task my_task.delay() But as I understand it, this is bad because when I wrote any command in the terminal, I opened a browser for parsing -
Django CSRF Protect During POST to External URL?
Context I am building a website in Python using the Django Framework and Stripe for user payment. I am currently In the testing/debug phase in local development, still far from a production build. Currently at a brick wall with CSRF Protection and can not find a solution. My checkout works perfectly with no CSRF Protection. There are other topics of very similar issues on here but due to my lack of knowledge around CSRF protection itself, I hope someone can enlighten me on what to do in my specific scenario. This situation should have a common practice solution but I've studied the majority of both Django and Stripe's Documentation with no luck. Criticism is welcome, this is my first StackOverflow post. The Problem I have a view function which enables the purchase of a product on my site by sending the user to Stripes External Checkout page. views.py @csrf_exempt # CSRF Protection disabled for testing def create_checkout_session(request): if request.method == 'POST': try: checkout_session = stripe.checkout.Session.create( ... ) except Exception as e: ... return redirect(checkout_session.url) During testing I disabled CSRF Protection on my view function using Django's @csrf_exempt decorator. I did this in order to bypass the '403 CSRF Verification failed' … -
Django + Elastcisearch index is not generate getting direct access to system indices will be prevented by default
While trying to create elasticsearch index using rebuild command (myenv) C:\Misc\Django_elasticsearch>python manage.py search_index --rebuild C:\Misc\Django_elasticsearch\myenv\Lib\site-packages\elasticsearch\connection\base.py:200: ElasticsearchWarning: this request accesses system indices: [.security-7], but in a future major version, direct access to system indices will be prevented by default warnings.warn(message, category=ElasticsearchWarning) Are you sure you want to delete the '' indices? [y/N]: y But index did not generate I have added ELASTICSEARCH_DSL and added rest_framework,django_elasticsearch_dsl,django_elasticsearch_dsl_drf in seetings.py Please help... Check Elasticsearch server: Confirm that your Elasticsearch server is running and accessible. Getting proper response from localhost:9200 -
django-haystack Decimal __lt query
I have django project with django-haystack and xapian backend. I have created an index: sugar=indexes.DecimalField(null=True) Now I'm trying to filter the SearchQuery with different arithmetical operators, and I'm getting strange results (trying lt, lte, gt and gte with filter like: sqs.filter(sugar__lt=60)). I'm then filtering out None's, sorting the results and converting to float to get a better view on it. sqs.count()=130, len(sqs_lt)=114, len(sqs_gt)=130, len(sqs_lte)=0, len(sqs_gte)=16 vals_lt=[0.1, 0.1, 0.3, 0.3, 0.4, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.7, 0.8, 0.8, 0.8, 0.8, 1.0, 1.1, 1.1, 1.1, 1.1, 1.1, 1.3, 1.33, 1.4, 1.5, 1.8, 1.8, 2.0, 2.0, 2.0, 2.0, 2.1, 2.2, 2.2, 2.4, 2.5, 2.5, 2.78, 2.8, 2.9, 3.0, 3.07, 3.2, 3.2, 3.4, 3.6, 3.9, 4.0, 4.9, 6.0, 6.0, 6.2, 6.3, 6.3, 6.6, 12.0, 12.0, 12.4, 12.5, 13.7, 14.0, 18.0, 20.0, 22.0, 22.0, 23.0, 24.1, 24.8, 26.0, 26.0, 26.5, 27.7, 30.96, 34.0, 39.0, 40.0, 40.0, 41.0, 42.2, 42.5, 43.0, 46.0, 48.0, 51.1, 52.0, 54.0, 100.0] vals_gt=[0.1, 0.1, 0.3, 0.3, 0.4, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.7, 0.8, 0.8, 0.8, 0.8, 1.0, 1.1, 1.1, 1.1, 1.1, 1.1, 1.3, 1.33, 1.4, 1.5, 1.8, 1.8, 2.0, 2.0, 2.0, 2.0, 2.1, 2.2, 2.2, 2.4, 2.5, … -
Django and Ajax: prevent a page from refreshing when I click on the button (without jQuery)
In the home.hmtl page i have a combobox (independent, it is not connected to the database but to a list) and a textarea. I don't use the database. When I click on the button then I would like to print some text in the textarea (text which is in a list of the views.py file) What do I want to get? Everything happens correctly, but the page reloads immediately after clicking on the button. I tried to solve the problem using only Django, but I failed (maybe it's not possible), so I read what solutions are to use Ajax, jQuery and something in Javascript. I would like to solve the problem with AJax (without jQuery, and possibly without Javascript). I'm new to Django Considerations: I searched many question on Stackoverflow or various tutorials, but I couldn't solve. Apparently even though it's are similar questions, each solution is a different case with different problem and solutions. One solution I've found often, but it's not for me, is to replace type=submit with type=button and then add onclick which binds to a function in Javascript. I wouldn't need this function in Javascript, because I would like to keep everything in py files (the …