Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Deploying dockerized Django with channels + Nginx + Daphne
i have a django application, running in Docker, which is using channels 2 (for a chat app). When running docker-compose up on local, the site and websocket chat works like a charm. Now i tried to deploy the project: I want to run the whole project only on ASGI with daphne (instead of Daphne for Websocket and gunicorn for standard requests). Well, i tried it for three days now, i dont get it working. I am completey lost. The website with "standard" http requests over https is working perfect, the chat with websockets gives me a 500 error, but the error message is a miracle to me. I have really no idea, what to do next. (have to say, i am a beginner in django, nginx and websockets) My setup is: Django, Django Channels, Redis, Nginx, Docker, Daphne Django Projectname is xtools This is my production docker-compose: version: '3.7' services: web: container_name: 'web' build: context: ./app dockerfile: Dockerfile.prod command: daphne -b 0.0.0.0 -p 8000 xtools.asgi:application volumes: - static_volume:/home/app/web/static - media_volume:/home/app/web/mediafiles expose: - 8000 env_file: - ./.env.prod depends_on: - db networks: - docker-network redis: image: redis:latest command: ["redis-server", "--bind", "redis", "--port", "6379"] db: image: postgres:12.0-alpine volumes: - postgres_data:/var/lib/postgresql/data/ env_file: - ./.env.prod.db … -
Python Django Best Practice for request.user in Class Based Views and Queryset
I am using class based views and have always the same problem without an elegant solution. My querysets should only show the ones that are owned of the request user. Code view: class MyListView(ListView): model = MyModel def get_queryset(self): return self.model.objects.owned_by_user(self.user) def __init__(self, **kwargs): super().__init__(**kwargs) self.user = None def dispatch(self, request, *args, **kwargs): self.user = request.user return super().dispatch(request, *args, **kwargs) model: class MyModelQuerySet(models.QuerySet): def owned_by_user(self, user): return self.filter(user_field=user) class MyModelManager(models.Manager): def get_queryset(self): return MyModelQuerySet(self.model, using=self._db) def owned_by_user(self, user): return self.get_queryset().owned_by_user(user) class MyModel(models.Model): user_field = ... objects = ProductRequestManager() Best practice 1: I think I have to overwrite dispatch to add the request.user. My IDE notes "Instance attribute user defined outside of init. In order to prevent this I also need to overwrite init(). How can I achieve this with less code? Best practice 2: Is there another way to get querysets belonging to the current user? -
Conditional search in django filter
I want to retrieve some data from my database in this way from .models import Student #activity is a many to many field students = Student.objects.filter(name="doe",activity__name__icontains='a' or 'b').distinct().all() This will work 👆. But my problem is I have a list of items to check against the activities and if I try it like this 👇... it fails activities = ['a','b','c'] students = Student.objects.filter(name="doe",activity__name__icontains=activities).distinct().all() The length of the list is not constant it always varies. I would appreciate any helping hand. Thank you -
Unable to update existing formets
community! I am new here. I have been working on this issue for the past couple of days. Could someone help me, please? Problem: Unable to edit/delete existing formsets I have 1 form and 2 formsets in my view. I am able to create all 3, successfully. Template rendering 1 form and 2 formsets Also, I can edit/delete the form, but can't with the 2 formsets. models.py class Component(models.Model): ... class ComponentImage(models.Model): component = models.ForeignKey(Component, on_delete=models.CASCADE, related_name='componentimage') image = models.ImageField(upload_to='component_pics') caption = models.CharField(max_length=100, null=True, blank=True) class ComponentWeblink(models.Model): component = models.ForeignKey(Component, on_delete=models.CASCADE, related_name='componentweblink') url = models.URLField() caption = models.CharField(max_length=100, null=True, blank=True) views.py def component_create(request): template = 'component/component_add.html' if request.method == 'GET': form = ComponentForm() images = ImageFormset(queryset=ComponentImage.objects.none(), prefix='images') links = WeblinkFormset(queryset=ComponentWeblink.objects.none(), prefix='links') elif request.method == 'POST': form = ComponentForm(request.POST) images = ImageFormset(request.POST, request.FILES, prefix='images') links = WeblinkFormset(request.POST, prefix='links') if form.is_valid() and images.is_valid() and links.is_valid(): component = form.save(commit=False) component.updated_by = request.user component.save() for form in images: if form.has_changed(): componentimage = form.save(commit=False) componentimage.component = component componentimage.updated_by = component.updated_by try: componentimage.save() except ValueError: pass for form in links: if form.has_changed(): componentweblink = form.save(commit=False) componentweblink.component = component componentweblink.updated_by = component.updated_by componentweblink.save() messages.success(request, 'Component successfully created.') return HttpResponseRedirect(reverse_lazy('component:component_detail', args=(component.pk,))) return render(request, template, { 'form': form, 'images': … -
Django treating DateTimeField as both UTC and America/Chicago
In my views.py I am both writing to and reading from a PostgreSQL table that has a DateTimeField. When creating a new entry, the date field is populated in UTC time. When pulling the data from the database in views.py the UTC timestamp is being treated as though it is in the timezone "America/Chicago". # settings.py TIME_ZONE = 'America/Chicago' USE_I18N = True USE_L10N = True USE_TZ = True I've tried supplying varios timezone aware dates when creating the entry in the database but it always appears as UTC when viewing the database directly. When I pull the data back django is treating the UTC datetime as if the timezone were "America/Chicago" # views.py CT = pytz.timezone("America/Chicago") UTC = pytz.timezone("UTC") # attempt_1 = datetime.datetime.utcnow().astimezone(CT) # attempt_2 = datetime.datetime.now().astimezone(CT) # attempt_3 = datetime.datetime.utcnow() attempt_4 = datetime.datetime.utcnow().astimezone(UTC) new_entry = MyModel(date=attempt_4) new_entry.save() -
django forms post request raising an error on __init__ method
I have a django form which takes a paramater from the view to initialize the MultipleChoiceField based on the user instance. The form is working fine when loading the template. when i submit the form the init method in the form raising an error. My Model models.py from django.db import models from django.contrib.auth.models import User class Group(models.Model): group_name = models.CharField('Group name', max_length=50) def __str__(self): return self.group_name class GroupMembers(models.Model): group_name = models.ManyToManyField(Group) members = models.ForeignKey(User, on_delete=models.CASCADE) class Transactions(models.Model): bill_type = models.CharField('Bill type',max_length=200) added_by = models.ForeignKey(GroupMembers, on_delete=models.CASCADE) added_to = models.ForeignKey(Group, on_delete=models.CASCADE) purchase_date = models.DateField(auto_now=True) share_with = models.CharField('Share among',max_length=250) amount = models.IntegerField(default=0) def __str__(self): return self.bill_type forms forms.py from django import forms from .models import Transactions, GroupMembers class Bill_CreateForm(forms.ModelForm): def __init__(self, user_list, *args, **kwargs): super(Bill_CreateForm, self).__init__(*args, **kwargs) self.fields['share_with'] = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple,choices=tuple([(name, name.members) for name in user_list])) class Meta: model = Transactions fields = ( 'bill_type', 'amount', 'added_by', 'added_to', 'share_with', ) views views.py from django.shortcuts import render, redirect from django.contrib.auth.models import User from .models import Transactions, Group, GroupMembers from .forms import Bill_CreateForm from django.http import HttpResponse, HttpResponseRedirect def add_bills_home(request, id=None): user = User.objects.get(pk=id) grpname = Group.objects.filter(groupmembers__members=user) gm = GroupMembers.objects.filter(group_name__group_name=grpname[0]) users_list = [i for i in gm] if request.method == 'POST': form = Bill_CreateForm(request.POST) if form.is_valid(): … -
Django : is there a way to create a popup window without the use of a template file?
I'm accessing instruments from a Django application (sorry if I don't use the right terms I am not a developper). One of the instrument we use must do the same measurement a few times : Once the instrument has made an acquisition, the user must do some things, inform the application, so it can starts the next acquisition. I wanted to make everything from the view to make it simpler. So basically I need to make a popup window before the acquisition, and wait for the user to close this window to start the acquisition. The messages from django need some lines in the template, but I'd like to do all this before accessing the template ? Is that possible ? Thank you for your answers ! -
Django send http response without changing page
In django, if i wanted to send back a return httpresponse but not make a new page eg: when i send a http response it becomes https://localhost:8000/appname/submit/, i want to send an http response to https://localhost:8000/appname/ and not change it? I just want a general answer nothing specialised, if any code is needed please tell me. From my research i found a question with a very similar title unfortunately it is for flask or ajax and not django focused [yes i might be able to work it out but i recently just started django so it's a bit confusing :) ] -
Header refuses to show up on mobile view
I've spent a week trying to figure this out. I'm building a django website, and I have a navigation menu that always remains hidden behind some element when I look at the website on my mobile view. On Chrome Dev Tools, it looks perfectly fine, but on my phone, it's completely gone. Example of Chrome Dev Tools vs Phone: My first step in solving this was looking at the z-index. None of the indexes I tried worked, and I made sure to search for solutions to z-indexes not working on the Internet as well, such as having necessary prerequisites. Since my navigation menu is in my base.html template file, I even moved the header down to the very bottom of the body element (it has a fixed position), so that {%block content%} was always above the header. That didn't work either. So I tried moving all elements to the left whenever the navbar was open. This is what happened. If I try inspecting this on chrome dev tools by right clicking the empty space where there should be empty space, I get the following: ...meaning the only thing that's there is the HTML file itself. I'm completely baffled. I have … -
List and Put method
I'm new to django-framework. I'm trying to list and create two models at the same time. But I'm unable to bring the data of the two models in a single json models.py class User(models.Model): id=models.CharField(max_length=9,primary_key=True) name=models.CharField(max_length=30) def __str__(self): return self.name class ActivityPeriod(models.Model): tz=models.CharField(max_length=30) start_time=models.DateTimeField(auto_now=False, auto_now_add=False) end_time=models.DateTimeField(auto_now=False, auto_now_add=False) activityperiod2user=models.ForeignKey(User,related_name='activityperiods', on_delete=models.CASCADE) def __str__(self): return str(self.activityperiod2user) views.py class CustomApiView(generics.ListCreateAPIView): queryset = User.objects.all() serializer_class = serializers.CustomSerializer serializers.py class CustomUserSerializer(serializers.ModelSerializer): class Meta: model=models.User fields=("__all__") class CustomSerializer(serializers.ModelSerializer): activitydata=CustomUserSerializer() class Meta: model=models.User fields=('name','activitydata') -
Django FileField wont update path and url after save()
I have this model: class Galeria(models.Model): galeriaid = models.AutoField(db_column='GaleriaID', primary_key=True) nombre = models.CharField(db_column='Nombre', max_length=128, blank=True, null=True) ruta = models.FileField(db_column='Ruta', max_length=512, blank=True, null=True) And I overrided the save() to make my file look like {pk}.jpg or {pk}.mp4. The code works but it doesnt update the file.path and file.url. I get "media/{file}" instead of "media/imagenes/%Y%m/{file}". What am I doing wrong, the save() code below: def save( self, force_insert=False, force_update=False, *args, **kwargs): # Call save for post id super( Galeria, self ).save( *args, **kwargs ) ruta = self.ruta if ruta: # Create new file using pk and ext file oldfile = self.ruta.name dot = oldfile.rfind( '.' ) newfile = str( self.pk ) + oldfile[dot:] # Create new file and remove the old one if newfile != oldfile: self.ruta.storage.delete( newfile ) if newfile.endswith(".jpg"): self.ruta.storage.save( "imagenes/" + str(timezone.now().strftime("%Y/%m/")) + str(newfile), ruta ) elif newfile.endswith(".mp4"): self.ruta.storage.save( "videos/" + str(timezone.now().strftime("%Y/%m/")) + str(newfile), ruta ) else: self.ruta.storage.save( newfile, ruta ) self.ruta.name = newfile self.ruta.close() self.ruta.storage.delete( oldfile ) # keep the changes super( Galeria, self ).save( *args, **kwargs ) I tried adding a function to upload to, but still doesnt work. -
django channels project deploy on heroku
I cant deploy a Django channels app to Heroku. Django rest is deployed successfully but I can't connect to sockets from Heroku host when I try, I get error "ws/... not found" I think that problem is on settings of ASGI hosts, maybe I type incorrect host? REDISTOGO_URL: redis://redistogo:<key>@hammerjaw.redistogo.com:10388/ on my setting.py I write this: ASGI_APPLICATION = 'hahachat.routing.application' CHANNEL_LAYERS = { 'default': { 'BACKEND': 'asgi_redis.RedisChannelLayer', 'CONFIG': { "hosts": [ ('hammerjaw.redistogo.com', 10388) ], }, }, } routing application application = ProtocolTypeRouter({ # (http->django views is added by default) 'websocket': AuthMiddlewareStack( URLRouter( url_pat ), ), }) On localhost all works correctly. -
Override django serializer or models create method
I'm trying to add data to my database. To this purpuse, I have a vue function : @api_view(['POST']) def update_add_bges(request): serializer = BGESSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) this one call a serializer to add new data in the database : class BGESSerializer(serializers.ModelSerializer): laboratoire = LaboratoiresSerializer() class Meta: model = BGES fields = '__all__' def create(self, validated_data): laboratoire_data = validated_data.pop('laboratoire') laboratoire_oj = Laboratoire.objects.create(**laboratoire_data) validated_data["laboratoire"] = laboratoire_obj["pk"] bges = BGES.objects.create(**validated_data) return bges The problem is that my Laboratoire classe is nested as well, and should add instances from an other class : class LaboratoiresSerializer(serializers.ModelSerializer): tutelles = TutellesSerializer(many=True) class Meta: model = Laboratoire fields = '__all__' def create(self, validated_data): tutelles_data = validated_data.pop('tutelles') laboratoire = Laboratoire.objects.create(**validated_data) for tutelle_data in tutelles_data: t = Tutelle.objects.get(nom=tutelle_data["nom"]) laboratoire.tutelles.add(t) return laboratoire This is not working, because not called as it's the create of the serializer and not the create of the Models. How should I do ? When I add a Laboratoire, I have Tutelle to create ... Should I implement the create in the Models ? As I am new to django, I have hard time to understand the subtility of functions calls. -
wagtailtrans with prefix_default_language=False: root (/) not found when changing language
I am using Wagtailtrans and have set prefix_default_language=False in my urls.py. Default language is 'en'. Root page 127.0.0.1:8000/ loads as expected. When I change to another language (in my case load 127.0.0.1:8000/nl/) the translated page loads as expected. But when I then change back to root 127.0.0.1:8000/, I get Page not found. When I then load 127.0.0.1:8000/en/ I get Page not found as expected, but subsequently loading 127.0.0.1:8000/ gives me the correct English home page. So then apparently some language setting has changed. My guess is this is caused by Wagtailtrans's TranslationMiddleware, because when I use LocaleMiddleware instead, this behavior does not occur. My question: is this 'normal' or perhaps 'intended' behavior, or am I doing something wrong? It seems to me that when prefix_default_language=False, the home page should always be found. And what am I missing if I just keep using LocaleMiddleware (not recommended in docs)? settings/base.py: MIDDLEWARE = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'wagtail.core.middleware.SiteMiddleware', 'wagtailtrans.middleware.TranslationMiddleware', # depends on the previous line and replaces the next line # 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', ... project urls.py: ... urlpatterns += i18n_patterns( ... url(r"", include(wagtail_urls)), prefix_default_language=False ) Any help appreciated! -
Why background color of navigation bar in Bootstrap does not change?
I am working on a Django project. My problem is that the background color of the navigation bar is not changing despite me making changes in the bootstrap file. I made changes in both .nav and also the .navbar (though I am sure that for it to work, change needs to be made in only one of them). Please help..thanks. .nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; color: green; background-color: green; } .navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0.5rem 1rem; color: green; background-color: green;} -
Could not find the variable, namely could not find the key "VariableDoesNotExist at /genres/"
I can not get the objects on the template that are associated with the mptt django model. Failed lookup for key [genres]. I have a model that is linked to another model. I use mptt django so that the object is connected through the relationship of many to many. Everything is fine on the administrative panel, but this problem occurs when displaying an object on a template. What should I do best? Maybe I am setting the cycle for the object incorrectly ? models.py: from django.db import models from django.urls import reverse from django.utils import timezone from mptt.models import MPTTModel, TreeForeignKey, TreeManyToManyField class Genre(MPTTModel): name = models.CharField(max_length=50, unique=True, verbose_name='Подкатегория') slug = models.SlugField(max_length=200, null=True, blank=True, unique=True, verbose_name='Nazvanie_kategorii') parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children', verbose_name='Категория') is_active = models.BooleanField(default=False, verbose_name='Активность категории') created = models.DateField(blank=True, null=True, default=timezone.now, verbose_name='Дата создания записи') updated = models.DateField(blank=True, null=True, default=timezone.now, verbose_name='Дата ред-ия записи') class MPTTMeta: order_insertion_by = ['name'] verbose_name = 'Тест мптт' verbose_name_plural = 'Тест мптт' class Meta: verbose_name = 'Дерево категорий' verbose_name_plural = 'Дерево категорий' def __str__(self): return '%s' % self.name def get_absolute_url(self): return reverse('test_mptt:promotion_list_by_category', args=[self.slug]) views.py: from django.shortcuts import render, get_object_or_404 from .models import Genre, Promotion, PromotionDetails from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger def show_genres(request, category_slug=None): … -
Django url pathing, home url always overwriting path('', views.home, name='home')
from django.urls import path from . import views urlpatterns = [ path('signup/', views.signup, name='signup'), path('', views.home, name='home'), ] this is my code for the URLs under my something I call timetable from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('signup/' , include('timetable.urls')), path('', include('timetable.urls')), ] this is the code for the main urls.py so I know that the call to the other url.py works as if I take the '' (home) URL out it redirects to the right URL (the view that I have in place) but if I have the home URL in it just always goes straight to that URL, is there any way like in react where I can do Exact or do you guys know of any solution for this that is simple -
Correct way of overriding URLs by installed apps
Im facing with an issue attempting to override the URL of a 3rd party app (View flow) that i installed to my system. As mentioned in this thread : enter link description here it should work as long as it is above the app- supplied url. I will demonstrate some of my code . url.py urlpatterns = [ url( r'^pipeline/(?P<process_pk>\d+)/documents/(?P<task_pk>\d+)/assign/$', OverrideTaskView.as_view(), {'flow_class': Pipeline , 'flow_task': Pipeline.documents}, name="documents__assign"), path('pipeline/', include((pipeline_urls, 'pipeline'))), #<--- this is the pre-supplied URLs views.py class OverrideTaskView(AssignTaskView,FormView): #<-- inherited the view from the third party app to overwrite it form_class=AssignForm action_name = 'assign' def get_context_data(self, **kwargs): context = super(OverrideTaskView, self).get_context_data(**kwargs) context['activation'] = self.activation return context The redirection to the view is correct and works perfectly. However the issue is that by overriding the view in this method, it seems that the system is unable to find other URLs that was supplied by the third party app. error Reverse for 'detail' not found. 'detail' is not a valid view function or pattern name. debug page URLs admin/ ^pipeline/(?P<process_pk>\d+)/documents/(?P<task_pk>\d+)/assign/$ [name='documents__assign'] pipeline/ ^archive/$ [name='archive'] pipeline/ ^action/cancel/(?P<process_pk>\d+)/$ [name='action_cancel'] pipeline/ ^(?P<process_pk>\d+)/$ [name='detail'] #<--- here! Is there a reason for this? Please help! Im super lost! -
how to migrate django models to new database
i develope a django project on my local system, and now i deployed that to a server. i used MySql as database. whenever i try to migrate my models (using python manage.py migrate or python manage.py makemigrations) to server's new database, it shows me following error: django.db.utils.ProgrammingError: (1146, "Table '<DB_NAME>.mainapp_service' doesn't exist") and doesn't create tables into the database. i didn't move any of my local migration files to server, just moved mainapp/migrations/__init__.py file. how can i create all tables and run my app? -
Should I add multiple migration files into git repository with Django?
With Django whenever I make a change in the models, another migration file is generated automatically after I run following : python manage.py makemigrations python manage.py migrate What is the best way to keep these migration files for development, should they be committed to the source control ? -
Django debug mode hags even if DEBUG= False
I'm having problems with disabling DEBUG mode from Django. The main website still shows up as well as the /api debug calls. Before I wrote, I double checked all the solutions from: django DEBUG=False still runs in debug mode and the others posts, as well as the official documentation. The app is running on App Engine. This is my main configuration: main.py from apps.wsgi import application as app manage.py #!/usr/bin/env python import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.dev") DEBUG = False try: from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( "Couldn't import Django. Are you sure it's installed and " "available on your PYTHONPATH environment variable? Did you " "forget to activate a virtual environment?" ) from exc execute_from_command_line(sys.argv) settings.dev logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) logger.debug("loading settings dev.py") BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DOCS_ROOT = os.path.join(BASE_DIR, "docs", "html") DEBUG = False ALLOWED_HOSTS = ["*"] -
How to read Django settings file from Airflow instance?
Having seen the response to this question I'd like to do the same for a demo project. Full code for the demo project available here. However, I am unable to read in the Django settings file from the pizza module in the example Dag file. I get the following error: ModuleNotFoundError: No module named 'pizza'. Full stack trace as follows, -
'Cart' object has no attribute 'add' in django
I tried make a cart for shopping web site , cart has been working until this error raised, 'Cart' object has no attribute 'add' import datetime from django.db.models import Sum from django.db.models import F from . import models CART_ID = 'CART-ID' class ItemAlreadyExists(Exception): pass class ItemDoesNotExist(Exception): pass class Cart: def init(self, request): cart_id = request.session.get(CART_ID) if cart_id: cart = models.Cart.objects.filter(id=cart_id, checked_out=False).first() if cart is None: cart = self.new(request) else: cart = self.new(request) self.cart = cart def __iter__(self): for item in self.cart.item_set.all(): yield item def new(self, request): cart = models.Cart.objects.create(creation_date=datetime.datetime.now()) request.session[CART_ID] = cart.id return cart def add(self, product, unit_price, quantity=1): item = models.Item.objects.filter(cart=self.cart, product=product).first() if item: item.unit_price = unit_price item.quantity += int(quantity) item.save() else: models.Item.objects.create(cart=self.cart, product=product, unit_price=unit_price, quantity=quantity) def remove(self, product): item = models.Item.objects.filter(cart=self.cart, product=product).first() if item: item.delete() else: raise ItemDoesNotExist def update(self, product, quantity, unit_price=None): item = models.Item.objects.filter(cart=self.cart, product=product).first() if item: if quantity == 0: item.delete() else: item.unit_price = unit_price item.quantity = int(quantity) item.save() else: raise ItemDoesNotExist def count(self): return self.cart.item_set.all().aggregate(Sum('quantity')).get('quantity__sum', 0) def summary(self): return self.cart.item_set.all().aggregate(total=Sum(F('quantity')*F('unit_price'))).get('total', 0) def clear(self): self.cart.item_set.all().delete() def is_empty(self): return self.count() == 0 def cart_serializable(self): representation = {} for item in self.cart.item_set.all(): item_id = str(item.object_id) item_dict = { 'total_price': item.total_price, 'quantity': item.quantity } representation[item_id] = item_dict return … -
use of url in django
I have a doubt in use of urls and path in urls.py. I have tried a url in django as: url('budget-info/<str:username>',views.app_view, name='app') along with: return HttpResponseRedirect(reverse('app', kwargs={'username':user.username})) and return HttpResponseRedirect(reverse('app', args=(user.username,))) in my views.py. I am getting error of this type: Reverse for 'app' with keyword arguments '{'username': 'admin'}' not found. 1 pattern(s) tried: ['budget-info/<str:username>'] However this is working fine with path in replace of url. I cannot understand why this is happening considering that both url and path are used to design url. -
NOT NULL constraint failed: projects_property_applications.landlord
My app allows Tenants to apply for Properties that are listed on the site by Landlords. When I try to apply for I get the following error Traceback (most recent call last): File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_response(request) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\Maksims\Desktop\RentSpot\2020-ca472-template-repo\src\projects\views.py", line 22, in property_apply link.save() File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\base.py", line 746, in save force_update=force_update, update_fields=update_fields) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\base.py", line 784, in save_base force_update, using, update_fields, File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\base.py", line 887, in _save_table results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\base.py", line 926, in _do_insert using=using, raw=raw, File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py", line 1204, in _insert return query.get_compiler(using=using).execute_sql(returning_fields) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\compiler.py", line 1384, in execute_sql cursor.execute(sql, params) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 100, in execute return super().execute(sql, params) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 68, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 86, in _execute return self.cursor.execute(sql, params) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\utils.py", line 90, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 86, in _execute return self.cursor.execute(sql, params) File "C:\Users\Maksims\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\sqlite3\base.py", line 396, in execute return Database.Cursor.execute(self, …