Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
DRF - lack of JWT when creating user instance
I'm struggling with jwt. When I create user's instance, there is not jwt. When I try to obtain jwt with registered credentials I receive info that provided credentials are not correct. It works fine when I create superuser via cmd. serializers: from rest_framework import serializers from django.contrib.auth.models import User from rest_framework import serializers class UserSerializer(serializers.ModelSerializer): class Meta: model = User write_only_fields = "password" read_only_fields = ('id',) fields = ["email", "password", "first_name", "last_name"] for field in fields: extra_kwargs = {field: {'required': True,'allow_blank': False}} def create(self, validated_data): validated_data["username"] = f'{validated_data["first_name"]}_{validated_data["last_name"]}_{User.objects.count()}' return User.objects.create(**validated_data) signals: from django.db.models.signals import post_save from django.dispatch import receiver from django.contrib.auth.models import User from rest_framework.authtoken.models import Token @receiver(post_save, sender=User) def create_auth_token(sender, instance=None, created=False, **kwargs): if created: Token.objects.create(user=instance) views class CreateUserView(CreateAPIView, GenericViewSet): model = User permission_classes = [ permissions.AllowAny ] serializer_class = UserSerializer response = {} def create(self, request): validation_selializer = UserRegistrationSerializer(data=request.data) if validation_selializer.is_valid(): final_selializer = self.get_serializer(data=validation_selializer.data) if final_selializer.is_valid(): self.response = { "info":{ "status":"created", "email":validation_selializer.data["email"] } } return Response(self.response, status=status.HTTP_200_OK) self.response = validation_selializer.errors return Response(self.response, status=status.HTTP_400_BAD_REQUEST) -
Django Form Dropdown List Won't Display
I want to create a dropdown list in a form. I followed this approach here. If I use {{ form.as_p }}, the dropdown list renders just fine. But rendering the form using as_p looks terrible. Instead, I loop through the form fields and access their parameters so I can stylize the inputs. I try to catch the field of the dropdown list using an if-statement with condition field.widget.input_type == "select". When the page renders, I should see "This is where my dropdown goes" where my dropdown list field is supposed to be. But that doesn't happen, the field gets rendered as a text input like every other field, so my if-statement is not working. I debugged my view function and confirmed that the field corresponding to the dropdown list does have parameter .widget.input_type == "select". What am I doing wrong? <form action="{% url 'myapp:newrecord' %}" method='post'> {% csrf_token %} {% for field in form %} <div class="form-group row"> {% if field.widget.input_type == "select" %} <p>This is where my dropdown goes.</p> {% else %} <label for="{{ field.id_for_label }}" class="col-sm-2 col-form-label">{{ field.label }}</label> <div class="col-sm-10"> <input type="text" name="{{ field.html_name }}" class="form-control" id="{{ field.id_for_label }}" placeholder="{{ field.label }}" required> </div> {% endif %} … -
Can we combine multiple exists() queryset API calls into a single DB call using annotate?
I have a decorator.py function to check if a logged user has permission to access a view. def allow_only_admins_authors_coauthors_reviewers_specialists(view_func): def wrapper_func(request, *args, **kwargs): email_of_logged_user = request.user.email book_id = kwargs['pk'] # Get the book id if (request.user.is_admin or \ (Coauthors.objects.filter(paper=book_id, email=request.user).exists()) or \ (Book.objects.filter(Q(id=book_id, author=request.user) | Q(id=book_id, author__email__in=request.user.get_secondary_emails_flat_list)).exists()) or \ (Token.objects.filter( Q(book=book_id, email=email_of_logged_user) | Q(book=book_id, email_which_was_actually_used_to_retrive_token__emails__icontains = email_of_logged_user) # 'email_which_was_actually_used_to_retrive_token' contains the actual email which was used by the reviewer to retrieve the token. Its different than the email to which the token was originally sent. ).exists() # Sometimes, the token might be deleted. In such case, system shall check if the logged user is the reviewer within the Review model. ) or \ (Review.objects.filter(paper=book_id, user__email = email_of_logged_user).exists()) or \ (SpecialistAssignment.objects.filter(raw_book=book_id, user=request.user).exists())): return view_func(request, *args, **kwargs) else: return HttpResponse('You are not authorised to view this page!') return wrapper_func This function would make multiple DB calls due to multiple the exists() API checks. Is there any way we can combine these multiple exists() into a single DB query using annotate? Secondly, is this approach faster than using django-rules? -
Django can't find my DetailView with Primary Key
I'm trying to make a simple page with Django where posts are being displayed using primary keys. However, the DetailView page with my posts can't be displayed. This is my model: class Post(models.Model): author = models.CharField(max_length=100) title = models.CharField(max_length=100) posted_date = timezone.now() text = models.TextField() def get_absolute_url(self): return reverse("postdetail", kwargs={"pk": self.pk}) def __str__(self): return self.title and here is my url pattern list: urlpatterns = [ url(r'^posts/(?P<pk>\d+)$', views.PostDetail.as_view(), name="postdetail"), url(r'^$', views.index, name="index"), url(r'^thanks/$', views.Thanks.as_view(), name="thanks"), url(r'^postlist/$', views.PostList.as_view(), name="postlist"), ] Here is the DetailView: class PostDetail(DetailView): context_object_name = 'post_details' model = Post I can't see where I might have a mistake. I have a ListView that shows my posts including the primary keys. But when I try to open the URL http://127.0.0.1:8000/posts/1/ I get: `Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/posts/1/ Using the URLconf defined in myproj.urls, Django tried these URL patterns, in this order: admin/ ^posts/(?P<pk>\d+)$ [name='postdetail'] ^$ [name='index'] ^thanks/$ [name='thanks'] ^postlist/$ [name='postlist'] The current path, posts/1/, didn’t match any of these. Do you have a clue why the URL cannot be found? Thank you very much.` -
Getting an error of "<Team: jaja>" needs to have a value for field "id" before this many-to-many relationship can be used
I'm trying to add team to the database but i get this error. Took a look at similar questions but none of them solved my issue. (I am new with Django) My code looks like: forms.py from django.forms import ModelForm from .models import Team class TeamForm(ModelForm): class Meta: model = Team fields = ['title', 'team_country', 'team_logo'] def __init__(self, *args, **kwargs): super(TeamForm, self).__init__(*args, **kwargs) for name, field in self.fields.items(): field.widget.attrs.update({'class': 'input'}) models.py from django.db import models # Create your models here. from django.contrib.auth.models import User from django_countries.fields import CountryField from .validators import validate_file_size class Team(models.Model): # # Status ACTIVE = 'active' DELETED = 'deleted' CHOICES_STATUS = ( (ACTIVE, 'Active'), (DELETED, 'Deleted') ) # # Fields title = models.CharField(max_length=255) team_country = CountryField(blank=True, null=True) team_logo = models.ImageField( null=True, blank=True, upload_to='logos/', default="logos/logo.png", validators=[validate_file_size]) members = models.ManyToManyField(User, related_name='teams') created_by = models.ForeignKey(User, related_name='created_teams', on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) status = models.CharField(max_length=10, choices=CHOICES_STATUS, default=ACTIVE) class Meta: ordering = ['title'] def __str__(self): return self.title views.py from django.shortcuts import render from django.contrib import messages from django.contrib.auth.decorators import login_required from django.shortcuts import render, redirect, get_object_or_404 from .models import Team @login_required def add(request): profile = request.user.profile form = TeamForm() if request.method == 'POST': form = TeamForm(request.POST, request.FILES) if form.is_valid(): team = form.save(commit=False) … -
how can I auto scroll down - chat app with django
hello I want to auto scrolldown because whenever I refresh the page I see always the top of conversations I mean the start-conversation , this is my code <div class="card-body height3 scrollbar" style="margin-bottom: -60px;" id="card-body"> <ul class="chat-list" id="chat-list-id"> <p class="start-conversation">&nbsp;</p> {% for chat in chats %} {% if chat.from_user == user.username %} <li class="out"> <div class="chat-img"> <img alt="avatar" style="height: 48px;width: 48px;" src="{{here.image.url}}"> </div> <div class="chat-body"> <div class="chat-message"> <h5>Me</h5> <p>{{chat.messag_body}}</p> </div> </div> </li> {% else %} <li class="in"> <div class="chat-img"> <img alt="avatar" src="{{here.image.url}}"> </div> <div class="chat-body"> <div class="chat-message"> <h5>{{ chat.from_user }}</h5> <p>{{ chat.messag_body }}</p> </div> </div> </li> {% endif %} {%endfor%} </ul> </div> -
reading text file from user pyttsx3 python
I have a program that read text from the keyboard and convert that text into an audio, also the program could take a text file (docx, pdf, txt, etc...) from user and convert it to audio. I am having hard time to convert the file. every time I run the code the [Errno 2] No such file or directory: 'file_name. (I am using python, Django, and pyttsx3) def convert_Two(request): #taking iput from user value = request.GET['file'] with open(value, 'r') as file: data = file.readlines().replace('\n', '') obj = pyttsx3.init() obj.say(data) obj.runAndWait() return redirect('/') -
Displaying names of the DB tables that contain specific data
I was able to get the names of the tables of DB with specific data in Python like this: r = list(conn.cursor().execute('''select m.name from sqlite_master m where m.type = 'table' and exists (select 1 from pragma_table_info(m.name) m1 where m1.name = 'customer_id')''')) print('Names of the tables that contain customer data:\n','\n'.join(map(str, r))) The output is: "actor" and "film actor" Is there any way to get the same output in Django website? I just can't think of any way to do that. DB that I'm using is Sakila. I've generated model objects for every table already. -
How to solve the No module named bootstrap_date_picker_plus error?
I am using Django 3.2.3 and I would like in my app to use date picker using the package bootstrap_datepicker_plus. I have installed it and added it following the steps in the link https://pypi.org/project/django-bootstrap-datepicker-plus/. However, when I run the app, I am getting the error ModuleNotFoundError: No module named 'bootstrap_datepicker_plus. When I checked in the installed packages, I noticed that the bootstrap_date_picker_plus package is installed as it is shown in the attached image -
Django S3: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256
I'm following a course and I believe I'm doing everything the guy says step by step, however, I'm running into a problem where I cant output images to my django website from Amazon buckets. i get <Error> <Code>InvalidRequest</Code> <Message>The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.</Message> <RequestId>FBT5M3QQ69AF3QNB</RequestId> <HostId>L8MYNGNFtHoMzCIn8zQZLaIIzrtWpSE31tG4zeIr1o/XqdudSvvPhV9fUEBB5EiNvuWHtM+WqQc=</HostId> </Error> These are my setting.py STATIC_URL = '/static/' MEDIA_URL = '/images/' STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'), ] MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images') # user uplaoded content STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') # Default primary key field type # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' AWS_ACCESS_KEY_ID = '**********' AWS_SECRET_ACCESS_KEY = '********' AWS_STORAGE_BUCKET_NAME = 'mybucket-name' The files are getting uploaded to the bucket successfully, but they won't show on the web page... -
Env vars and Docker differences between dev, staging, and prod
Although my specific example involves Django, Docker, and Heroku, I believe these are pretty general testing/QA questions. I have a dockerized Django app tested in dev with Selenium confirming that my static files are being served correctly from my local folder (EXPECTED_ROOT = '/staticfiles/'). This app is deployed to Heroku and I can see (visually and in the dev tools) that the static files are being pulled in from CloudFront correctly as well. I want to formalize this with the same test I'm using in dev. My first question is related to if/how environment variables are used for tests: Do I add for example EXPECTED_ROOT = 'https://<somehash>.cloudfront.net/' as an env var to Heroku and use it in the Selenium test? Also, to run this test in staging I would need to install Firefox in my Docker image like I do in dev. Perhaps this is ok in staging, but in prod I believe I should be aiming for the the smallest image possible. So the question is about differences between staging and prod: Do I keep Firefox in my staging image, run the tests, and then send to production a replica of that Dockerfile, but now without firefox? Any help … -
Problem when trying to import data from a django directory
I started a application in django with discord.py My modules for discord.py is in same directory where is django application started. Looks like this: My problem is when I want to import a botlogic model, get this error ModuleNotFoundError: No module named 'bot.botlogic'; 'bot' is not a package I've tried every possible way ... and I'm still getting this error How should I proceed? -
Different query results for local server and production server
Without changing the code and updating, the display order of pictures on my production server(django,postgresql,bootstrap,nginx,uwsgi) has changed(see the picture). Before/now I can't reproduce this problem on my local server with same backup/code... In Django ORM I have this result: local: Car.objects.filter(model=1) <QuerySet [<CarImage: 1>, <CarImage: 2>, <CarImage: 3>]> production: Car.objects.filter(model=1) <QuerySet [<CarImage: 3>, <CarImage: 2>, <CarImage: 1>]> Reboot nginx/postgresql didn't help. What could have happened and how to fix it? -
How to add data from my local postgresql database on heroku's postgresql database?
I have a Django project on Heroku. It renders templates, but without any data(that I get from my local postgre database). How can I import data on Heroku database from my local db? -
retrieve data from manytomany field in the sequence of it was saved django
views.py ids when its being saved [19, 18, 20] inv.products.set(pd) ids when its retrieved [18, 19, 20] products = obj.products.all() I want it to be retrieved the objects in the sequence of it was saved -
Django: Foreign Key Error when extending the default USER scheme
I am currently struggling with the extension of the User model with the relation OneToOneField. I have the following model: from django.db import models from django.contrib.auth.models import User from django.dispatch import receiver from django.db.models.signals import post_save # Create your models here. class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True) qualified_name = models.CharField(max_length=50, blank=True) phone_number = models.CharField(max_length=17, blank=True) buyout = models.BooleanField(default=False) @receiver(post_save, sender=User) def create_user_profile(sender, instance, created, **kwargs): if created: Profile.objects.create(user=instance) @receiver(post_save, sender=User) def save_user_profile(sender, instance, **kwargs): instance.profile.save() The following forms: from django import forms from django.contrib.auth.models import User from django.contrib.auth.forms import UserCreationForm from django.core.validators import RegexValidator, ValidationError from .models import Profile class UserRegisterForm(UserCreationForm): email = forms.EmailField(widget=forms.EmailInput( attrs={'class': 'form-control inp-xlf', 'id': 'email', 'placeholder': 'name@example.com'}), required=True) password1 = forms.CharField(widget=forms.PasswordInput, required=False) password2 = forms.CharField(widget=forms.PasswordInput, required=False) def clean(self): cd = self.cleaned_data email_cleaned = cd.get('email') virtual_passwd = User.objects.make_random_password() cd.setdefault("password1", virtual_passwd) cd.setdefault("password2", virtual_passwd) cd.setdefault('username', email_cleaned.split("@")[0]) return cd class Meta: model = User fields = ('email',) class ProfileRegisterForm(forms.ModelForm): qualified_name = forms.CharField(strip=True, widget=forms.TextInput( attrs={'class': 'form-control inp-xlf', 'id': 'name', 'placeholder': 'Enter your name...'})) phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be entered in the format: '+999999999'. Up to 15 digits " "allowed.") phone_number = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control inp-xlf', 'id': 'phone', 'placeholder': '(+41) 254 48 95'}), validators=[phone_regex], max_length=17) # validators should be a … -
How to import an object of one app into another app in the same django project?
Codes are given below. users.model.py from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin from django.db import models from django.utils import timezone from django.utils.translation import gettext_lazy as _ from django.db import models # from django.contrib.auth.models import User from PIL import Image from .managers import CustomUserManager from django.contrib import admin from django.contrib.auth.models import AbstractUser from django.utils.translation import ugettext_lazy as _ class CustomUser(AbstractUser): username = None first_name = models.CharField('Name',max_length=200,unique=True) email = models.EmailField(_('email address'), unique=True) registration = models.IntegerField() USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] objects = CustomUserManager() def __str__(self): return self.email class Profile(models.Model): user = models.OneToOneField(CustomUser, on_delete=models.CASCADE) image = models.ImageField(default='default.jpg', upload_to='profile_pics') blog.model.py from django.db import models from django.utils import timezone from django.urls import reverse from django.conf import settings from multiselectfield import MultiSelectField from django import forms from django.core.validators import MinValueValidator, MaxValueValidator from PIL import Image DAYS_OF_WEEK = [ (0, ' Monday'), (1, ' Tuesday'), (2, ' Wednesday'), (3, ' Thursday'), (4, ' Friday'), (5, ' Saturday'), (6, ' Sunday'), ] class PostManager(models.Manager): def like_toggle(self, user, post_obj): if user in post_obj.liked.all(): is_liked = False post_obj.liked.remove(user) else: is_liked = True post_obj.liked.add(user) return is_liked class Post(models.Model): author = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE) title = models.CharField('Doctor\'s Name',max_length=100) content = models.CharField('Specialty',max_length=100) chamber = models.CharField('Chamber\'s Name',max_length=200) address = models.CharField('Address',max_length=100, blank=True) fees = models.IntegerField(default=0) days … -
Loginform object has no attribute get_user
I have multiuser app mith usertype a and b i am trying to create login form using class based views making my most of my logic lying in forms.py this how my code looks forms.py class UsertypeALogin(forms.Form): username = forms.CharField(required=True) password = forms.CharField(widget=forms.PasswordInput) def __init__(self, *args, **kwargs): self.request = kwargs.pop('request', None) super().__init__(*args, **kwargs) def clean(self): username = self.cleaned_data.get("username") password = self.cleaned_data.get("password") try: user = models.User.objects.get(username=username) if user.user_a: if user.check_password(password): return self.cleaned_data else: self.add_error("password", forms.ValidationError("Password is wrong.")) except models.User.DoesNotExist: self.add_error("email", forms.ValidationError("User does not exist.")) views.py class UsertypeaView(LoginView): template_name = 'login.html' form_class = UsertypeALogin success_url = reverse_lazy("dash") error trace This is the error i am getting Internal Server Error: /app/pm/signin/ Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/utils/decorators.py", line 43, in _wrapper return bound_method(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/views/decorators/debug.py", line 89, in sensitive_post_parameters_wrapper return view(request, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/utils/decorators.py", line 43, in _wrapper return bound_method(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/utils/decorators.py", line 130, in _wrapped_view response = view_func(request, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/utils/decorators.py", line 43, in _wrapper return bound_method(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func response = view_func(request, … -
How to create drop down in django dynamically , I tried all ways but I am not getting , literally every way passing from views and from models
views.py @user_passes_test(is_manager) def fetch_set(request, book_id): set_list = [] clicked_book = Book.objects.get(pk=book_id) url = clicked_book.url.split("/")[4].split(".")[0] try: repo = requests.get("https://api.github.com/repos/{}/{}/branches".format(github_user, url), headers = headers, proxies=proxy) repo = json.loads(repo.text) for branch in repo: set_list.append(branch['name']) except Exception as e: messages.error(request, e) context = { 'set': SetCreationForm(initial={'repo_name':url, 'acronym': set_list , \ 'book':clicked_book}), 'list': set_list, 'sets': Set.objects.filter(pk=book_id), 'id': book_id, } if request.method == 'POST': form_1 = SetCreationForm(request.POST) context = {'set': form_1, 'id': book_id} try: if form_1.is_valid(): form_1.save() messages.success(request, 'Set is fetched.') return redirect('booksNsets:sets-page') except Exception as e: # messages.WARNING(request, e) form_1.add_error(None, e) return render(request, 'booksNsets/fetch_repo.html', context) return render(request, 'booksNsets/fetch_repo.html', context) models.py class Set(models.Model): class StatusChoice(models.TextChoices): READY_FOR_CORRECTION = 'RC', _('Ready for Corrrection') UNDER_CORRECTION = 'UC', _('Under Corrrection') READY_FOR_VERIFICATION = 'RV', _('Ready for Verification') UNDER_VERIFICATION = 'UV', _('Under Verification') READY_FOR_FORMATTING = 'RF', _('Ready for Formatting') UNDER_FORMATTING = 'UF', _('Under Formatting') READY_FOR_PROOFREADING = 'RP', _('Ready for Proofreading') UNDER_PROOFREADING = 'UP', _('Under Proofreading') COMPLETED_PROOFREADING = 'CP', _('Completed Proofreading (Mark set as completed for finalize)') COMPLETED = 'CD', _('Completed') book = models.ForeignKey( Book, related_name='sets_of_book', on_delete=models.CASCADE, null=True, ) acronym = models.CharField(max_length=25, unique=True,null=True,blank=True) repo_name = models.CharField(max_length=40) start_page = models.IntegerField() end_page = models.IntegerField() notes = models.TextField(null=True, blank=True) # Cache the completion status of the set is_completed = models.BooleanField(default=False, blank=True) class Meta: ordering = ('acronym', … -
Django: Modifying excel data and downloading a ppt
I am currently facing an issue with deployement: I so far created an app where I am inputing a local path to an excel file than using the sample_code.py (shown bellow) I create a report in pptx in the same folder where the excel file is. To Summarize: I input text into a form the text is my path to the excel file I click a button that runs my sample_code.py script A ppt report is generated Why does this not work when deploying on heroku, and how could I improve it? My views.py files are as follows: from django.shortcuts import render import sys from subprocess import run, PIPE # Create your views here. def button(request): return render(request,'home.html') def external(request): inp=request.POST.get('param') out=run([sys.executable,'E:\\project_deployement\\sample_code.py',inp],shell=False,stdout=PIPE) print(out) return render(request,'home.html',{'data1':out.stdout.decode('utf-8')}) the urls.py from django.urls import path from . import views urlpatterns = [ path('', views.button), path('external/', views.external), ] and the home.html file is as follows <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Work Script</title> </head> <body> <form action="/external/" method="post"> {% csrf_token %} Input Path: <input type="text" name="param" required><br><br> {{ data_external }} <input type="submit" value="Generate Toplines"> </form> </body> </html> the last important step is the sample_code.py from pptx import Presentation from pptx.chart.data import CategoryChartData from pptx.enum.chart … -
Best approach to load specific urls (views) in Django project
I have a Django app that exposes the following views: A,B,C...Z. This app is deployed on MACHINE-1. There was a new business requirement to deploy on MACHINE-2 the same Django app but with a subset of those views, let's say A,B and C. My simple solution was to set a config variable (RUN_ON_MACHINE_2=True for the second case and False for the first case). In conclusion, the urls.py file looks something like below (Please do note that I assimilate the views with paths here just to make it shorter): urlpatterns = [A, B, C, ... Z] # If the env var is set to True then only load a subset of the views if config.RUN_ON_MACHINE_2: urlpatterns = [A, B, C] The tests work fine cause they are always executed for [A,B,C ... Z] which of course include [A, B, C]. However, some new business requirements are asking to make changes on view A. I could implement the changes in view A branching the code by the config.RUN_ON_MACHINE_2 variable but I reached the conclusion it's much cleaner to create a new view, A_ForMachine2, which implements only the needed stuff for MACHINE_2. A_ForMachine2 must have the same interface as view A and must … -
Application error An error occurred in the application and your page could not be served. in heroku
I was trying to deploy my python project on heroku. after successful deployment, when I am starting the app it gives me errors like... Application error An error occurred in the application and your page could not be served. If you are the application owner, **check your logs for details**. You can do this from the Heroku CLI with the command heroku logs --tail after clicking on above-highleted link I got these heroku logs 2010-09-16T15:13:46.677020+00:00 app[web.1]: Processing PostController#list (for 208.39.138.12 at 2010-09-16 15:13:46) [GET] 2010-09-16T15:13:46.677023+00:00 app[web.1]: Rendering template within layouts/application 2010-09-16T15:13:46.677902+00:00 app[web.1]: Rendering post/list 2010-09-16T15:13:46.678990+00:00 app[web.1]: Rendered includes/_header (0.1ms) 2010-09-16T15:13:46.698234+00:00 app[web.1]: Completed in 74ms (View: 31, DB: 40) | 200 OK [http://myapp.heroku.com/] 2010-09-16T15:13:46.723498+00:00 heroku[router]: at=info method=GET path="/posts" host=myapp.herokuapp.com" fwd="204.204.204.204" dyno=web.1 connect=1ms service=18ms status=200 bytes=975 2010-09-16T15:13:47.893472+00:00 app[worker.1]: 2 jobs processed at 16.6761 j/s, 0 failed ... how can resolve this error? -
Angular service invoking Django method to connect to a MongoDB database
I have written a service script in my Angular app that adds consumer form info to a local Json-Server database: import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { Post } from '../models/post.model'; const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) } @Injectable() export class DbService { consumersApiUrl = "http://localhost:3000/consumers"; constructor(private httpClient: HttpClient) { } addConsumer(post: Post): Observable<Post> { return this.httpClient.post<Post>(this.consumersApiUrl, post, httpOptions); } } This works perfectly... I have now set up a Django backend and a MongoDB database. In my settings.py file, I have my database connection: DB_NAME = 'mongodb+srv://User2021:TestPassword@cluster0.j9jz1.mongodb.net/test' So, I added a new url and a new method to write the info to my database: @Injectable() export class DbService { consumersApiUrl = "http://localhost:3000/consumers"; consumersMongodbApiUrl = "http://localhost:8000/consumers/"; constructor(private httpClient: HttpClient) { } addConsumer(post: Post): Observable<Post> { return this.httpClient.post<Post>(this.consumersApiUrl, post, httpOptions); } addConsumerMongodb(post: Post): Observable<Post> { return this.httpClient.post<Post>(this.consumersMongodbApiUrl, post, httpOptions); } } In the MongodbApiUrl, consumers is the name of my database collection. My first question: Should the link to a real database (whose connection string and name and collection name I know) be like this or should I somehow include the extra info … -
Django - Simple Task list with checkmarks
I have the following django models: class Tasks(models.Model): date_created = models.DateTimeField(auto_now_add=True) date_changed = models.DateTimeField(auto_now=True, auto_now_add=False) title = models.CharField(verbose_name=_('Title'), max_length=50) content = HTMLField(verbose_name=_('Content'), max_length=8000) class TasksStatus(models.Model): date_created = models.DateTimeField(auto_now_add=True) date_changed = models.DateTimeField(auto_now=True, auto_now_add=False) task = models.ForeignKey(Tasks, on_delete=models.SET_NULL, null=True, related_name="task_status") user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="task_user_id", on_delete=models.CASCADE, verbose_name=_("User")) checked = models.BooleanField(default=False, null=True, verbose_name=_("Checked")) On a template i want to post all tasks which exists and give the user the possibility to checkmark each task. This is already written to the database by a ajax view: class UpdateTaskStatus(LoginRequiredMixin, View): def dispatch(self, request, *args, **kwargs): return super(UpdateTaskStatus, self).dispatch(request, *args, **kwargs) def post(self, request): task_id = request.POST.get("task_id") task_status = request.POST.get("task_status") task = Tasks.objects.get(id=task_id) if (task_status == "0"): task_status = True else: task_status = None object, created = TasksStatus.objects.get_or_create(user=request.user, task=task) object.checked = task_status object.save() tasks = Tasks.objects.all() tasks_completed = TasksStatus.objects.filter(user=request.user, checked=True).count() if (tasks.count() != 0): if (tasks_completed != 0): tasks_completed = int(round((tasks_completed / tasks.count()) * 100, 0)) return JsonResponse({"task_id": task_id, "task_status": task_status,"tasks_completed": tasks_completed, "msg": "Task status updated."}) The view which comes to the template is this one: @login_required def participation_dashboard(request): user = request.user if user.groups.filter(name='teacher').exists(): defaultTagGenerator(user) dt = timezone.now() all_data = request.GET.get('filter', None) days_dict = {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: … -
How can I modify radio button field in Django to suit my preference?
models.py: class Person(models.Model): GENDER_SELECT = ( ('f', 'Female'), ('m', 'Male'), ('o', 'Other'), ) TITLE_SELECT = ( ('0', 'Mr.'), ('1', 'Mrs.'), ('2', 'Ms.'), ('3', 'Mast.'), ) title=models.CharField(max_length=5,choices=TITLE_SELECT) name=models.CharField(max_length=100) gender=models.CharField(max_length=11,choices=GENDER_SELECT) forms.py: class PersonForm(ModelForm): class Meta: model=Person fields='__all__' widgets={ 'title': forms.RadioSelect(), 'gender': forms.RadioSelect(), } template: <form action="" method="post"> {% csrf_token %} {{form1.as_p}} <input type="submit" value="Submit"> </form> Output: As you can see, the fields display as verticals whereas I want them horizontal. Plus, I don't want that initial '__________' choice. How can I achieve it?