Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
problem with adding javascript to django view form update
I have a django view to add an invoice to my application, that has added javascript, and it works fine. <p> <label for="id_total_without_vat">Price</label> <input type="number" name="total_without_vat" step="any" required="" id="id_total_without_vat" oninput="calculateTotalWithVat()"> <label for="id_currency_name">Currency</label> <select name="currency_name" id="id_currency_name" onchange="update_currency_rate()"> <option value="NIS">NIS</option> </select> <label for="units">Units</label> <span id="units"></span> <label for="id_currency_rate">Currency Rate</label> <input type="number" name="currency_rate" step="any" id="id_currency_rate" value=1.00 oninput="calculateTotalWithVat()"> <label for="nis_total">Total Price</label> <span id="nis_total"></span> </p> <p> <label for="id_total_vat_included">Total VAT Included</label> <input type="number" name="total_vat_included" step="any" required="" id="id_total_vat_included"> <label for="id_vat_percentage">VAT Perentage</label> <input type="number" name="vat_percentage" step="any" value="17.0" id="id_vat_percentage" oninput="updateVat(this.value)"> <label for="nis_total_with_tax">NIS Total With Tax</label> <span id="nis_total_with_tax"></span> </p> The problem is while trying to do something similar in the update view I see the oninput part of the command in the browser as text, this is the update view code: <p> <label for="id_total_without_vat">Total without VAT</label> {{ form.total_without_vat }} <label for="id_currency_name">Currency</label> <select name="currency_name" id="id_currency_name" onchange="update_currency_rate()"> <option value=" {{ form.currency_name }} "></option> </select> <label for="units">Units</label> <span id="units"></span> <label for="id_currency_rate">Currency Rate</label> <input type="number" name="currency_rate" step="any" id="id_currency_rate" value= "{{ form.currency_rate }}" oninput="calculateTotalWithVat()"> <label for="nis_total">Price</label> <span id="nis_total"></span> </p> <p> <label for="id_total_vat_included">Price Including VAT</label> {{ form.total_vat_included }} <label for="id_vat_percentage">VAT Percentage</label> <input type="number" name="vat_percentage" step="any" value=" {{ form.vat_percentage }} " id="id_vat_percentage" oninput="updateVat(this.value)"> <label for="nis_total_with_tax">Price Including Taxes</label> <span id="nis_total_with_tax"></span> </p> Can someone tell me why the add view … -
django-cms makemigrations error: No module named 'packaging'
I am starting out in django-cms and I am trying to install cms from the official cms documentation. I created my virtual environment and installed Django and django-cms. The next steps are to create a project with django-admin, and adding the django-cms in the installed apps. The project is going great till now. But, when I try to migrate my installed apps in the database I get the error "No module named 'packaging'". I don't understand what I am doing wrong. Another tutorial tells me to startproject using djangocms myproject but it doesn't work (it's probably outdated as I couldn't find any variations anywhere else) My settings.py: INSTALLED_APPS = [ 'djangocms_admin_style', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'cms', 'menus', 'treebeard', ] SITE_ID = 1 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } LANGUAGE_CODE = 'en' LANGUAGES = [ ('en', 'English'), ] After this, I run the py manage.py makemigrations But I get the error Traceback (most recent call last): File "E:\art\Graphic Design\Coding\law-&-stuff\myproject\manage.py", line 22, in <module> main() File "E:\art\Graphic Design\Coding\law-&-stuff\myproject\manage.py", line 18, in main execute_from_command_line(sys.argv) File "E:\art\Graphic Design\Coding\law-&-stuff\venv\Lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line utility.execute() File "E:\art\Graphic Design\Coding\law-&-stuff\venv\Lib\site-packages\django\core\management\__init__.py", line 420, in execute django.setup() File "E:\art\Graphic Design\Coding\law-&-stuff\venv\Lib\site-packages\django\__init__.py", … -
ddjango score not work when i move aplication to another project
hi everybody i move app in another project for quiz he is work but showin the score is not work thats the template <div class="total" style="display:none"> <h2> {{total}}مبروك انت فزت مجموع ما حصلت عليه هو </h2> and thats a models.py from django_auto_one_to_one import AutoOneToOneModel class UserScores(AutoOneToOneModel(User, related_name='user_id')): score = models.PositiveIntegerField(default=0) def __str__(self): return str(self.score) and this views.py class GameplayView(TemplateView): template_name = 'gameApp/gameplay.html' def get_context_data(self, **kwargs): context = super().get_context_data( **kwargs) self.request.session['q_count'] = 0 self.request.session['winner'] =False self.request.session['score'] = 0 self.request.session['right_answer'] = "" -
Formset not showing label in django
I am developing a domestic worker booking app in django When I try to pass the formset, I am not geting the label of that field. I am only getting the field in html. {% for formset in formsets %} <form method="post"> {% for form in formset %} {% for field in form %} <div> <label for="{{ field.auto_id }}">{{ field.label }}</label> {{ field }} {% for error in field.errors %} <p>{{ error }}</p> {% endfor %} </div> {% endfor %} {% endfor %} <input type="submit" value="Submit"> </form> {% endfor %} This the html code def staffApply(request,pk): if request.method == 'POST': selected_domestic_works = request.POST.getlist('domestic_works') formsets = [] if 'cook' in selected_domestic_works: formsets.append(CookingForm(request.POST,prefix='cook')) if 'driver' in selected_domestic_works: formsets.append(DriverForm(request.POST,prefix='driver')) print(formsets) return render(request, 'staffApply2.html', {'formsets': formsets}) return render(request,'staffapply.html',{'uid':pk}) enter code here This is my views.py class CookingForm(ModelForm): food_cooked=(('veg','veg'), ('non-veg','non-veg'), ('both','both') ) class Meta: model = Cook fields = '__all__' exclude=['user'] widgets={ 'food_cooked':forms.widgets.RadioSelect(), 'type_of_cuisine':forms.widgets.CheckboxSelectMultiple() } This is my forms.py I am getting the fields to type. But I am not getting hte label for those fields. Please help me fix this. -
Approach to tackle slow internet connection?
I am developing a web application on django for quiz. For each question that the teacher has entered, there is a qr code which the student have to scan from their mobile phones and select the correct option available on their screen. ISSUE: Whenever the student is scanning the qr code for answering the question, the link is not opening due to a slow network connection. Is there anyway I can solve this issue?? Thanks in advance.... -
How to make customize detail view set using ModelViewSet?
I am new to django. I have a model: class Class(models.Model): name = models.CharField(max_length=128) students = models.ManyToManyField("Student") def __str__(self) -> str: return self.name Now I want to create API to display the students in a particular class,the detail view, by giving the name of the class as a parameter using ModelViewClass. Currently, I have following viewset written: class ClassViewSet(ModelViewSet): serializer_class = serializers.ClassSerializer queryset = models.Class.objects.all() How to do that? -
ask user to login again in order to update user settings
Hello I have this view to able user to change data like username, password, etc: @login_required(login_url='core:login_view') def settings(request): form = UserUpdateForm(request.POST or None,instance=request.user) if form.is_valid(): user = form.save(commit=False) user.set_password(form.cleaned_data.get('password1')) user.save() context = { 'form':form, } return render(request,'core/settings.html',context) Because in this view user can change password and username, I want the user to enter login and password again in order to access this view. Thanks for the help! -
Return QuerySet with extra pagination fields
My get_queryset return this. Also, this fields with ID's are foreign keys serialized. [ { "id": 1389, "nome": "Curso teste", "nivel": { "id": 5, "nome": "Ensino Fundamental II" }, "modalidade": { "id": 4, "nome": "Presencial" }, "periodo": { "id": 5, "nome": "Matutino" }, "ano": { "id": 21, "nome": "12º Semestre" }, "instituicao": { "id": 35, "nome": "Fncit-escola" } } ] I want to add to each object an extra pagination object, and it would be like this object below. But get_queryset do not accept this kind of object, and if I use just get, and serialize the queryset, it will not come with the ForeignKeys serialized, it will return only the id's of the Foreign keys. Anyone knows how do I return an object like this? [ "bolsas":{ "id": 1389, "nome": "Curso teste", "nivel": { "id": 5, "nome": "Ensino Fundamental II" }, "modalidade": { "id": 4, "nome": "Presencial" }, "periodo": { "id": 5, "nome": "Matutino" }, "ano": { "id": 21, "nome": "12º Semestre" }, "instituicao": { "id": 35, "nome": "Fncit-escola" } }, "pagination": { "elements": 1 } ] -
Attribute Error: 'bool' object has no attribute 'utcoffset'
I am new to django and I have been trying to learn from the past few days. I have added date time and duration fields into my model. Now when I am trying to add flights using Django admin site I am getting the following error: AttributeError at /admin/flights/flight/add/ 'bool' object has no attribute 'utcoffset' Request Method: GET Request URL: http://127.0.0.1:8000/admin/flights/flight/add/ Django Version: 4.1.3 Exception Type: AttributeError Exception Value: 'bool' object has no attribute 'utcoffset' Exception Location: /opt/homebrew/lib/python3.10/site-packages/django/utils/timezone.py, line 256, in is_aware Raised during: django.contrib.admin.options.add_view Python Executable: /opt/homebrew/opt/python@3.10/bin/python3.10 Python Version: 3.10.8 Python Path: ['/Users/janardhanareddyms/Documents/airline', '/opt/homebrew/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/opt/homebrew/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/opt/homebrew/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Users/janardhanareddyms/Library/Python/3.10/lib/python/site-packages', '/opt/homebrew/lib/python3.10/site-packages', '/opt/homebrew/opt/python-tk@3.10/libexec'] Server time: Sun, 15 Jan 2023 02:53:34 +0000 Error during template rendering In template /opt/homebrew/lib/python3.10/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html, error at line 19 9 {% for field in line %} 10 <div{% if not line.fields|length_is:'1' %} class="fieldBox{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% if not field.is_readonly and field.errors %} errors{% endif %}{% if field.field.is_hidden %} hidden{% endif %}"{% elif field.is_checkbox %} class="checkbox-row"{% endif %}> 11 {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %} 12 {% if field.is_checkbox %} 13 {{ field.field }}{{ field.label_tag }} 14 {% else %} 15 {{ field.label_tag }} 16 {% if field.is_readonly %} 17 … -
django haystack rebuild_index fails if model id exluded
I'm trying to understand a rebuild_index error that results when using a very basic SearchIndex very similar to what is used in the haystack documentation. In the docs, the id of the model is excluded, which makes sense given that there seems little point in it influencing search results. I've tried something like this class CollectionIndex(indexes.SearchIndex, indexes.Indexable): #id = indexes.IntegerField(model_attr='pk') text = indexes.CharField(document=True, use_template=True) name = indexes.CharField(model_attr='name') def get_model(self): return Collection def index_queryset(self, using=None): # force just one item to be indexed to save a wait. return self.get_model().objects.filter(name="Test") ...but I get this error (I've applied some formatting to help legibility) elasticsearch.helpers.BulkIndexError: ('1 document(s) failed to index.', [ { "index": { "_index": "haystack", "_type": "modelresult", "_id": "my_project.collection.1", "status": 400, "error": { "type": "mapper_parsing_exception", "reason": "failed to parse [id]", "caused_by": { "type": "number_format_exception", "reason": 'For input string: "my_project.collection.1"', }, }, } } ]) The only way to get the indexing to work is to uncomment the id line. Is this just an elasticsearch thing, which is why the examples in the official docs don't have an equivalent, or am I misinterpreting things? Does it make sense to do a search for a number, and have a search result with an id matching … -
Force user to re-login when accessing admin page on Django
I have a django project that I want to force an administrator to login before accessing the admin area EVEN IF they are already logged into to the main site. The approach I have thought of was to creating a custom admin view where I logout the user (if they are already logged in) when they try to access the admin page but not sure what the cleanest way of doing this is. Currently my urls.py for admin is just url(r'^admin/', admin.site.urls) My ultimate goal is to have 2FA implemented just for my admin login. -
Psycopg2 duplicate key value violates unique constraint (when migrating from SQLITE to POSTGRESQL)
I have been trying to migrate a database from SQLite to POSTGRESQL. I am using json fixtures to dump and load the data, I tested multiple ways but I end up in a similar situation, and I say similar because I can reach 2 slightly different errors. So the 2 errors I can reach are the following: django.db.utils.IntegrityError: Problem installing fixture '/PATH/wcontenttypes.json': Could not load MyApp.DIN_STATUS(pk=1): duplicate key value violates unique constraint "MyApp_din_status_DSP_id_EA_id_1c1c3e96_uniq" DETAIL: Key ("DSP_id", "EA_id")=(542, 20324) already exists. The other one is the same but instead of pk=1, its pk=5 What did I check? If there's a duplicate -> but there is not If the row referenced by the id exist -> it does exist Removing the row that gives the error -> The next one gives the error (in case its pk=5, then pk=6, if pk=1 then pk=2) What did I test? I did multiple test looking around the internet, and testing almost anything I could find, the research ended up with 3 main ideas on how to do this Test 1 python manage.py dumpdata > wcontenttypes.json #-Swap to postgre find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete python manage.py makemigrations python … -
Django-Nginx- nginx returns default page when http is used in the request
I have a Django website with (nginx-gunicorn), the sock configuration for nginx is: server { server_name www.example.com; location /favicon.ico { access_log off; log_not_found off; } #static location /static/ { root /home/xx/xxx/xxx; } #media location /products/ { root /home/xx/xxx/xxxx; } location / { include proxy_params; proxy_pass http://unix:/home/xx/xxx/xxxx/bnb_6.sock; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { server_name example.com; location /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/xxx/xxx/xxxx; } #media location /products/ { root /home/xx/xxx/xxxx; } location / { include proxy_params; proxy_pass http://unix:/home/xx/xxx/xxxx/xxxxx.sock; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot return 301 https://www.example.com$request_uri; } But the site returns the default nginx page when I access it with http; I want is to change automatically from http to https, also the sharing of the site on social media displays the same nginx default page. Any suggestions? -
line 35 else: IndentationError: unindent does not match any outer indentation level
i want to solve problem line 35 else: ^ IndentationError: unindent does not match any outer indentation level else: if User.objects.filter(email=email).exists(): #email is taken pass else: patt = "^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$" if re.match(patt, email): user = User.objects.create_user(first_name=fname, last_name=lname, email=email, username=username, password=password) user.save() -
Saving new model overrides existing model
I have a form that I am using to create new models, but every time I submit the form, it overrides the only existing model in the database. My form view: class createItinerary(CreateView): template = "create.html" form_class = CreateItineraryForm def get(self, request, *args, **kwargs): form = self.form_class() return render(request, self.template, {"form": form}) def post(self, request, *args, **kwargs): super().__init__(*args, **kwargs) form = self.form_class(request.POST) if form.is_valid(): destination = form.cleaned_data.get("destination") trip_length = form.cleaned_data.get("trip_length") start = form.cleaned_data.get("start") end = form.cleaned_data.get("end") sights = form.cleaned_data.get("sights") new = Itinerary(destination=destination, trip_length=trip_length, start=start, end=end) new.sights.set(sights) new.save() return redirect("/") else: form = CreateItineraryForm return render(request, self.template, {"form" : form}) My forms.py: from django import forms from django.forms.widgets import * from itineraries.models import Itinerary from sights.models import Sight sight_choices = () for sight in Sight.objects.all(): new_sight = (("%s" % sight.name, "%s" % sight.name)) sight_choices += new_sight class CreateItineraryForm(forms.ModelForm): class Meta: model = Itinerary exclude = [] destination = forms.CharField(label="Destination", max_length=100) start = forms.DateField(widget=NumberInput(attrs={"type" : "date"})) end = forms.DateField(widget=NumberInput(attrs={"type" : "date"})) sights = forms.ModelMultipleChoiceField( queryset=Sight.objects.all()) This is the only existing model in the database: When I use the form to save a new one: It replaces the old model with the newly created one every time. -
In django, how can I access the request object in the form's clean method when using a CreateView?
I'm following the answer from this question, but the request object isn't actually being passed into it: How do I access the request object or any other variable in a form's clean() method? I'm getting this error when I try to submit the form: 'NoneType' object has no attribute 'user' Here is my form code: class MyModelForm(ModelForm): class Meta: model = MyModel fields=['question',] def __init__(self, *args, **kwargs): self.request = kwargs.pop('request', None) super(MyModelForm, self).__init__(*args, **kwargs) def clean(self, *args, **kwargs): data = self.cleaned_data['question'] user = self.request.user if user.author.number_of_questions < 1: raise ValidationError("You don't have any questions left") return data Here is my CreateView: class MyModelCreate(generic.CreateView): model = MyModel fields=['question',] def form_valid(self, form): # Code return super(MyModelCreate, self).form_valid(form) def get_success_url(self, **kwargs): # obj = form.instance or self.object return reverse_lazy('articles:thank-you') def get_form_kwargs(self): kw = super(MyModelCreate, self).get_form_kwargs() kw['request'] = self.request # the trick! return kw def get_context_data(self, **kwargs): #Code return context It's my understanding that the get_form_kwargs method in the CreateView is passing in self.request into the request kwarg of the form, which is then being accessed in the clean method of MyModelForm, but when I run this code, I get the error: 'NoneType' object has no attribute 'user' I have no idea why the … -
How to override UpdateView get_queryset django
I'm new to django, and I'm trying to make a simple update form where you can enter the PK of the object to be modified, and have the fields to be modified of the object in the same form, without entering the pk through the url, instead enter the PK from the form previously opened by the url http://127.0.0.1:8001/update/, I am using UpdateView and I try to cancel the get_queryset method, so far what I have achieved is to cancel the method and open the form but I must pass a pk if not it doesn't open I don't know how to make the form open blank. Model: class Lote(models.Model): lote = models.CharField(verbose_name='Lote', max_length=10, primary_key=True) codigo = models.CharField(verbose_name='Codigo', max_length=10, blank=True, null=True) producto = models.CharField(blank=True, max_length=50, null=True, verbose_name='Producto') timestamp= models.DateTimeField(auto_now_add=True) Forms: class LoteForm(forms.ModelForm): class Meta: model = Lote fields = ["lote","producto","codigo"] class LoteFormView(forms.Form): lote = forms.CharField(max_length=20) producto = forms.CharField(max_length=20) codigo = forms.CharField(max_length=20) View: class Update(UpdateView): model = Lote template_name = 'lote/updateview.html' fields = ['lote', 'codigo', 'producto'] success_url = '/update/' def get_object(self, queryset=None): return Lote.objects.get(pk=11111) url : url(r'^update/$', Update.as_view(), name='update'), Result: enter image description here what I want enter image description here I want to open the blank form and then pass … -
Django: Custom User Model Not Showing Profiles with StackedInLine
I have a custom user model which I am trying to associate a profile with. However I've been following other code to do this and I just cant seem to get it to work. admin.py: from django.contrib import admin from django.contrib.auth.admin import UserAdmin from .models import Trickster_User, User_Profile class ProfileInline(admin.StackedInline): model = User_Profile fields = ['User', 'SkillLevel', 'UserDIfficultyLevel', 'LearnedTricks', 'Follows'] class UserAdminConfig(UserAdmin): model = Trickster_User inLines = [ ProfileInline ] search_fields = ('Email', 'Username', 'FirstName', 'LastName') list_filter = ('Email', 'Username', 'FirstName', 'LastName', 'is_active', 'is_staff') ordering = ('-DateOfJoining',) list_display = ('Email', 'Username', 'FirstName', 'LastName','is_active', 'is_staff') fieldsets = ( ('Personal Info', {'fields': ('Email', 'Username', 'FirstName', 'LastName')}), ('Permissions', {'fields': ('is_staff', 'is_active')}), ) add_fieldsets = ( (None, { 'classes': ('wide',), 'fields': ('Email', 'Username', 'FirstName', 'LastName', 'password1', 'password2', 'is_active', 'is_staff')} ), ) admin.site.register(Trickster_User, UserAdminConfig) admin.site.register(User_Profile) models.py: class CustomUserManager(BaseUserManager): def create_superuser(self, Email, Username, FirstName, LastName, password, **other_fields): other_fields.setdefault('is_staff', True) other_fields.setdefault('is_superuser', True) other_fields.setdefault('is_active', True) if other_fields.get('is_staff') is not True: raise ValueError( 'Superuser must be assigned to is_staff=True.') if other_fields.get('is_superuser') is not True: raise ValueError( 'Superuser must be assigned to is_superuser=True.') return self.create_user(Email, Username, FirstName, LastName, password, **other_fields) def create_user(self, Email, Username, FirstName, LastName, password, **other_fields): if not Email: raise ValueError('You must provide an email address') Email = … -
How to create dataset from code and "inject" multipolygon to it with Geonode-project?
I have created a new django app form my geonode-project In this app I have a Project Model with a geom (Multipolygon field), It also has a OneToOneField to Dataset. What I want to achieve is: 1 - When a Project is created a new dataset must be created showing the same multipolygon of the project. (Keep reference project-dataset through the dataset OneToOneField field) 2 - When the project geom field is updated, the dataset must update its geometry (Multipolygon) as well I want to know which methods/functions I can use to create a new dataset and “inject” that multipolygon that is coming from project. I want to know how to update the dataset so it can show the new Multypolygon Here is my model definition: from django.utils.translation import gettext_lazy as _ from django.conf import settings from geonode.layers.models import Dataset from django.contrib.gis.db import models class Project(models.Model): name = models.CharField(_("Nombre"), max_length=50, unique=True) geom = models.MultiPolygonField(verbose_name=_("Localización"), srid=4326, blank=True, null=True) dataset = models.OneToOneField(Dataset, verbose_name=_("Dataset"), on_delete=models.CASCADE, related_name="proyecto", blank=True, null=True) -
How to use authenticate method with AbstractUser model django
I`m wrirting site on Django and I need to make a system for registration and authorization of work peepers, for this I use the Django AbstractUser model, registration works well, but authorization does not work, and the authenticate method returns None Here is my JobseekerRegsiterInfo model: class JobseekerRegisterInfo(AbstractUser): username = first_name = last_name = None id = models.BigAutoField(primary_key=True) phone_number = PhoneNumberField() email = models.EmailField(unique=True) full_name = models.CharField(max_length=120) USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['phone_number', 'full_name', 'hashed_password'] def __str__(self): return self.full_name My login form: class JobseekerLoginForm(forms.Form): email = forms.EmailField(label='Введіть ваш Email: ', widget=forms.EmailInput(attrs={'class': 'form-control'})) password = forms.CharField(label='Ваш пароль: ', widget=forms.PasswordInput(attrs={'class': 'form-control'})) def clean_email(self): email = self.cleaned_data['email'] # if not select_field_value_from_model(JobseekerRegisterInfo, 'email', email): if not JobseekerRegisterInfo.objects.filter(email=email): raise forms.ValidationError('Неправильно введені email або пароль') return email and view function: def jobseeker_login_view(request): title = 'Авторизація' context = {'title': title} if request.method == 'POST': form = JobseekerLoginForm(request.POST) context['form'] = form if form.is_valid(): email = form.cleaned_data['email'] password = form.cleaned_data['password'] user = authenticate(request, email=email, password=password) print(generate_password_hash(password)) if user: print(user) else: print('USER IS NONE') else: form_errors = form.errors.as_data() custom_error = custom_error_service(form_errors) context['list_first_error'] = custom_error else: form = JobseekerLoginForm() context['form'] = form return render(request, template_name='jobseeker/jobseeker_login.html', context=context) But only USER IS NONE is displayed in the console, no matter what I do … -
Multiple permission to view/add/change a model class object
I am trying to edit permissions from the admin-site for a specific group in my project. (Specifically the Manager group) I noticed that for this one model class named DeliveryOrderForm, contains two instances of one permission. For example : deliveryorder| delivery order form | can add delivery order form deliveryorder| delivery order form | can add delivery order What I understand is that the first part 'deliveryorder' is referencing the application name, the second part is referencing the model's class name, but I am unsure what the 3rd part is referencing to. These are the attributes for my class DeliveryOrderForm model class DeliveryOrderForm(models.Model): deliveryOrderID = models.AutoField(unique=True,primary_key=True) vendorName = models.CharField(max_length=30) vendorAddress = models.CharField(max_length=200) recipientName = models.CharField(max_length=30) recipientPhone = PhoneNumberField(blank=False) recipientAddress = models.CharField(max_length=200) deliveryOrderStatus = models.IntegerField(default=Status.pending,choices=Status.choices) deliveryOrderDate = models.DateTimeField(default=timezone.now()) I hope someone can help me understand this cause I'm afraid if my model is actually screwed up. -
Can C++ do web development?
Most of the backend languages like python, PHP, java and many more develop websites but can C++ do such. According to me, I think it can't but I'm not sure about that. -
Paginator not resticting number of post that needs to be shown on page Django?
I'm working on my Django blog, and when I go to categories I listed all posts in that category, but for some reason I cannot manage to work pagination. Everything works except one thing, on all pages I can see all posts, but I want to see only 6 posts per page. This is pagination.html that is included in category detail page <div class="mb-30"> <nav aria-label="Page navigation example"> <ul class="pagination justify-content-start"> {% if category_page.has_previous %} <li class="page-item"><a class="page-link" href="?page={{ category_page.previous_page_number }}"><i class="ti-angle-left"></i></a></li> {% else %} <li class="page-item"><a class="page-link" href="#"><i class="ti-angle-left"></i></a></li> {% endif %} {% for i in category_page.paginator.page_range %} {% if category_page.number == i %} <li class="page-item active"><a class="page-link" href="#">{{ i }}</a></li> {% else %} <li class="page-item"><a class="page-link" href="?page={{ i }}">{{ i }}</a></li> {% endif %} {% endfor %} {% if category_page.has_next %} <li class="page-item"><a class="page-link" href="?page={{ category_page.next_page_number }}"><i class="ti-angle-right"></i></a></li> {% else %} <li class="page-item"><a class="page-link" href="#"><i class="ti-angle-right"></i></a></li> {% endif %} </ul> </nav> </div> This is category_detail.html {% for post in posts %} <article class="col-lg-10"> <div class="background-white"> <div class="post-thumb"> <a href="{{ post.get_absolute_url }}"> <img class="border-radius" src="{{ post.image.standard.url }}" alt=""> </a> </div> <div class="pl-10"> <div class="mb-15"> <a class="meta-2" href="{{ post.category.get_absolute_url }}"><span class="post-in">{{ post.category}}</span></a> </div> <h5 class="mb-15"> <a href="{{ post.get_absolute_url }}">{{ post.post_title … -
Django - Annotate within for loop - what is the difference between my two codes
I am trying to sum up two columns in a view with values() and annotate(). Column 1 Column 2 5 0 5 -2 Currently calling "total" will return the total for each row and not the overall total. Returning in template 5 3 I believe this is because I print the total in a for loop. What confuses me is that I have an almost similar code working perfectly fine in another view. How can I get the total of the several rows together? views def function(request, userprofile_id): venue = UserProfile.objects.filter(user=request.user).values('venue') points_cummulated_per_user_per_venue = Itemised_Loyalty_Card.objects.filter(user=userprofile_id).filter(venue=request.user.userprofile.venue).values('venue__name','timestamp').annotate(sum_points=Sum('add_points')).annotate(less_points=Sum('use_points')).annotate(total=F('add_points')-F('use_points')).order_by('-timestamp') return render(request,"main/account/venue_loyalty_card.html",{'venue':venue,'points_cummulated_per_user_per_venue':points_cummulated_per_user_per_venue}) template {%for model in points_cummulated_per_user_per_venue %} Total: {{model.total}} {%endfor%} -
Creating an "incomplete" Django class for a user to fill in
I have a database representing financial transactions. Columns representing payee and category are non-optional. However, part of my app's functionality will be to ingest external spreadsheets of transactions which do not already have payee and category information. I would then populate a form where the user will select correct payees and categories through drop-down menus, and then save the completed information to the database. Is the correct approach to simply create two separate but equivalent classes (see below)? Or is there some way to make one a sub-class to another, despite the fact that one is connected to a database and the other is not. # An initial class representing a transaction read from an Excel sheet # Payee and category information are missing at this stage, but will be filled # in by the user later on class TransactionFromSpreadsheet: def __init__(self, date, amount): self.date = date self.amount = amount self.payee = None self.category = None # The Django class that will be instantiated once all the user has completed all # necessary information class Transaction(models.Model): date = models.DateField() amount = models.DecimalField(max_digits=14, decimal_places=2) category = models.ForeignKey('Category', on_delete=models.CASCADE) payee = models.ForeignKey('Payee', on_delete=models.CASCADE)