Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django custom form validator won't raise an exception when validation fails
I have a regex set up in my form.py and when i validate the number in the forms it successfully fails and refreshes the form but wont raise a ValidationError or display a message. i have tried RegexField and that also won't raise an error as well, but it correctly fails, what am i doing wrong? here's the example of the view set up: from django.shortcuts import render, redirect from django.http import HttpResponse, Http404 from django.urls import reverse from django.template import loader from django.core.mail import send_mail, mail_admins from .forms import Register # Importing Models from .models import Users # Create your views here. # Create your views here. def register(request): if request.method == "POST": forms = Register(request.POST) if forms.is_valid(): f_name = forms.cleaned_data["first_name"] l_name = forms.cleaned_data["last_name"] em = forms.cleaned_data["email"] num = forms.cleaned_data["phone"] user = Users( first_name=f_name, last_name=l_name, email=em, phone=num ) user.save() # Saving session request.session['f_name'] = f_name # User Mailing subject = f'Welcome to JSG {f_name}' message = 'Testing' from_email = 'example@gmail.com' recipient_list = [em] user_mail = send_mail( subject, message, from_email, recipient_list, fail_silently = False, ) # Admin Mailing subject = f'New member has joined the family {f_name}' message = ( f"Name: {f_name} {l_name}\n" f"Email: {em}\n" f"Phone: {num}\n" ) admin_mail = … -
How to check if object in list in Django Views
I'm trying to check whether an id matches an element in a list inside a Django view. I have looped through a filtered model and have appended the item.id to a list called items , I can see in my terminal that the list is being printed, but my "if" condition is not working : if product_obj in items: print('will be removed') added = False I'm not sure what I'm doing wrong ? any ideas? views.py def cart_update(request): product_id = request.POST.get('product_id') if product_id is not None: try: product_obj = Product.objects.get(id=product_id) except Product.DoesNotExist: print("Show message to user, product is gone?") return redirect("cart:home") cart_obj, new_obj = Cart.objects.new_or_get(request) cart_items = CartItem.objects.filter(items_cart_id=cart_obj) items = [] for item in cart_items: items.append(item.item.id) print(items) if product_obj in items: print('will be removed') added = False else: newitem = CartItem(item=product_obj, items_cart=cart_obj, quantity=1) newitem.save() added = True request.session['cart_items'] = cart_items.count() # return redirect(product_obj.get_absolute_url()) if request.is_ajax(): # Asynchronous JavaScript And XML / JSON print("Ajax request") json_data = { "added": added, "removed": not added, "cartItemCount": cart_items.count() } return JsonResponse(json_data, status=200) # HttpResponse # return JsonResponse({"message": "Error 400"}, status=400) # Django Rest Framework return redirect("cart:home") -
Convert django uuid type to list
I have variable of a= dec76304-9a31-4a04-8165-02a121b3c7fb of django type : <class 'uuid.UUID'> Want to convert the same to list as below format : ['dec76304-9a31-4a04-8165-02a121b3c7fb'] Tried with list(str(a)) which gives below output-> ['d', 'e', '0', '1', '0', '5', 'a', 'f', '-', '9', '0', '1', 'f', '-', '4', '1', '4', 'd', '-', '9', '2', '4', 'f', '-', 'e', '3', 'f', '2', '7', '3', '8', 'd', 'c', 'c', '5', '2'] -
I cant add new data to mysql, though i can manipulate existing(imported) data. Django-python
I am struggling for 5 days, cant make it work. My code works perfectly fine on local server, but wont work when i upload application. It just won't accept any new data i just face some weird redirections to homepaage with the url of the page i made submit. The existing(imported) data can be manipulated and changed, just no way to submit new data. {% extends "baza.html" %} {% block content %} {% load static %} {% load crispy_forms_tags %} <div class="container-login100" style="background-image: url('/static/images/pticica.jpg');"> <div class="wrap-login100"> <form method="POST" action="{% url 'Registracija' %}" enctype="multipart/form-data" class="login100-form">{% csrf_token %} <span class="login100-form-logo"> <i class="zmdi zmdi-landscape"><img style="border-radius:100%;padding:5px;" src="/static/images/login.png"></i> </span> <span class="login100-form-title p-b-34 p-t-27"> Registruj se </span> {{form|crispy}} <button type="submit" class="btn btn-success">Registruj se</button></div> </form></div> {% endblock %} my views from django.shortcuts import render, redirect from .forme import RegisterForm def register(request): if request.method == "POST": form = RegisterForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect("login") else: form=RegisterForm() return render(request,"register/register.html", {'form':form}) and global settings from django.utils.translation import ugettext_lazy as _ import os from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/checklist/ # SECURITY WARNING: keep the secret … -
Django Form dropdown fill with values
I have a from with fields I created in Django models.py. One of the fields is: res_person_1 = models.TextField(verbose_name="Odgovorna osoba 1") HTML page is: {% extends "blog/base.html" %} {% load crispy_forms_tags %} {% block content %} <div class="content-section"> <form method="POST" enctype="multipart/form-data"> {% csrf_token %} <fieldset class="form-group"> <legend class="border-bottom mb-4">Prijavite nesukladnost</legend> {{ form|crispy }} </fieldset> <div class="form-group"> <button class="btn btn-outline-info" type="submit">Prijava</button> </div> </form> </div> When I inspect the HTML page, ID of object is 'id_res_person_1'. At the page load I run script to get from database all users, which should fill the 'res_person_1' field and that field should be dropdown. Script is: <script type="text/javascript"> var endpoint = '/call_jquery_korisnici/' var korisnik_ime_prezime = [] $.ajax({ method: "GET", url: endpoint, success: function(data){ korisnik_ime_prezime = data.korisnik_ime_prezime console.log(korisnik_ime_prezime) }, error: function(error_data){ console.log("error") console.log(error_data) } }) </script> I don't know how to fill that field and how to make it dropdown. It doesn't work with: $("#id_res_person_1").html(korisnik_ime_prezime); document.getElementById('id_res_person_1').value = korisnik_ime_prezime; If I console output var korisnik_ime_prezime: (2) ["TestName1 TestLastname1", "TestName2 TestLastname1"] -
The current path, {% url 'post_new' %), didn’t match any of these
I'm trying to get an app running in django but I encounter this error: The current path, didn't match any of these, even though I could not figure which part of the code is problematic. Here is my code: views.py: from django.shortcuts import render from django.http [![enter image description here][1]][1] [1]: https://i.stack.imgur.com/QKhGg.png ---------------------------------------------------------------------------------------- views.py from django.shortcuts import render,get_object_or_404,redirect from django.utils import timezone from django.contrib.auth.decorators import login_required #function based from django.contrib.auth.mixins import LoginRequiredMixin #Class based from blog.models import Post,Comment from blog.forms import PostForm,CommentForm from django.urls import reverse_lazy from django.views.generic import (TemplateView,ListView,DetailView, CreateView,UpdateView,DeleteView) # Create your views here. class AboutView(TemplateView): template_name = 'about.html' class PostListView(ListView): model = Post def get_queryset(self): return Post.objects.filter(published_date__lte=timezone.now()).order_by('-published_date') # "__lte" means less than or equal to and "-" means order_by descending order class PostDetailView(DetailView): model = Post class CreatePostView(LoginRequiredMixin,CreateView): login_url = '/login/' redirect_field_name = 'blog/post_detail.html' form_class = PostForm model = Post class UpdatePostView(LoginRequiredMixin,UpdateView): login_url = '/login/' redirect_field_name = 'blog/post_detail.html' form_class = PostForm model = Post class DeletePostView(LoginRequiredMixin,DeleteView): login_url = '/login/' success_url = reverse_lazy('post_list') class DraftListView(LoginRequiredMixin,ListView): login_url = '/login/' redirect_field_name = 'blog/post_list.html' model = Post def get_queryset(self): return Post.objects.filter(published_date__isnull=True).order_by('created_date') @login_required def post_publish(request,pk): post = get_object_or_404(Post, pk=pk) post.publish return redirect('post_detail', pk=pk) @login_required def add_comment_to_post(request,pk): post = get_object_or_404(Post, pk=pk) if request.method … -
How to access ManyToMany field without loop inside template
I have the following models defined for my portfolio projects: class Technology(models.Model): title = models.CharField(max_length=10) def __str__(self): return self.title class Meta: verbose_name_plural = 'Technologies' class Project(models.Model): title = models.CharField(max_length=100) description = HTMLField() technology = models.ManyToManyField(Technology) image = models.ImageField(upload_to='projects/') def __str__(self): return self.title And I have this in my views.py: def index(request): projects = Project.objects.all() context = {'projects': projects} return render(request, 'homepage/index.html', context) And the following piece of HTML to display the projects: {% for project in projects %} <div class="col-lg-4 col-md-6 portfolio-item filter-django"> <div class="portfolio-wrap"> <img src="{% static 'homepage/img/portfolio/portfolio-1.jpg' %}" class="img-fluid"> <div class="portfolio-info"> <h4>{{ project.title }}</h4> <p>FIRST TECHNOLOGY GOES HERE</p> </div> </div> </div> {% endfor %} My challenge is the <p>...</p> tag because each project has multiple technologies, but I need to print the first one only so I can't have a for loop here. I have tried {{ project.technology.[0] }} but that gives me Could not parse the remainder: '[0]' from 'project.technology.[0]' Please assist. -
Can not create multiple instance of Model using Factory Boy and Faker
I am trying to craate multiple instance of django model using django-factory-boy and faker. But the I need to create instance in bulk (not single). But I can not make both attribute to be corresponding (code and name of currency). I have a django model as: class Currency(models.Model): """Currency model""" name = models.CharField(max_length=120, null=False, blank=False, unique=True) code = models.CharField(max_length=3, null=False, blank=False, unique=True) symbol = models.CharField(max_length=5, null=False, blank=False, default='$') def __str__(self) -> str: return self.code I have a factory import factory from apps.Payment.models import Transaction, Currency from faker import Faker fake = Faker() class CurrencyFactory(factory.django.DjangoModelFactory): class Meta: model = Currency # code and name get assigned when the class is called hence if we use # create_batch(n) we get all n object same # code, name = fake.currency() code = factory.LazyAttribute(lambda _: fake.currency()[0]) name = factory.LazyAttribute(lambda _: fake.currency()[1]) symbol = '$' The problem I am facing is code and name gets different value and not matching. See what faker returns. >>> from faker import Faker >>> fake = Faker() >>> fake.currency() ('JPY', 'Japanese yen') See currency name is not corresponding to currency code. Also I need to create at least 5 to 6 object using CurrencyFactory.create_batch(5). # mismatch in code and … -
Django TruncMonth to return Count Zero
models.py class Subjectcalculation(models.Model): name = models.CharField(max_length=200, blank=True) updated = models.DateTimeField(null=True, blank=True) def __str__(self): return self.name views.py math = Subjectcalculation.objects.filter(name='Math').annotate(month=TruncMonth('updated')).values('month').annotate(count=Count('id')) How to turn Count ZERO if no objects is present in that Month ? -
what should I learn to create an (image upload=>perform image recognition) webpage?
I understand a bit of programming with python, how make simple image recognition models that runs locally on my machine, I know how to use React.js, mongoDB and create some toy web apps. my question is, what do I need to learn to make a webpage that upload an image and do some analysis in python and send back the result? I hope my question is clear. Flask? Django? Learn to do analysis in Javascript? where should the images be stored? What tech allows me to make a python server that receive and image, do analysis, send back an image? Anyway that's my question, my apology if I sound ignorant to you. -
Django: the server responded with a status of 403 (Forbidden) (fix the error please)
I successfully registered from React app(front-end) and saved the key (Got from server) in local storage. here is my code: signupHandler=()=>{ fetch('http://127.0.0.1:8000/api/rest-auth/registration/', { method: 'POST', headers:{ 'content-type':'application/json', }, body:JSON.stringify({ 'username':this.state.username, 'email': this.state.email, 'password1': this.state.pass1, 'password2': this.state.pass2 }) }) .then((response)=>{ response.json().then((result)=>{ if (result.key !== undefined){ localStorage.setItem('login', JSON.stringify({login: true,token:result.key})) this.setState({registered: true}) } }) }) } I made a method , which will do this.setState({addedToCart: true}), if the result = 'response':'ok'. here is the method: addToCart=()=>{ var id = this.props.id let store = JSON.parse(localStorage.getItem('login')) console.log(store.token);//successfully print the key var url = 'http://127.0.0.1:8000/addToCart/'+id+'/' fetch(url,{ method:'GET', headers: { 'Content-Type': 'application/json', 'Authorization': 'Token '+store.token } }).then(res=>res.json().then(result=>{ if(result.response === 'ok'){ this.props.dispatch({ type: 'itemInCart', }) this.setState({addedToCart: true}) } })) } and in Django(views.py): @api_view(['GET']) @permission_classes((IsAuthenticated,)) def addToCart(request, pk): product = get_object_or_404(Product, pk=pk) mycart, __ = Cart.objects.get_or_create(user=request.user) mycart.product.add(product) return Response({'response':'ok'}) but it shows >>>the server responded with a status of 403 (Forbidden) I know Django is saying I'm un-authenticated. but why i'm un-authenticated? (where i send the token/key to the server). so, How can I get the response:ok? how can i make me authenticated? -
Python, django: all objects in form works fine except only one
On website page user select 'flight_date', 'flight_number', 'suburb', 'no_of_passenger' on the form and hit summit button. after that, views.py calculate the price with those information and send them back to webiste page (html). all objects appear on webpage as User selected but only 'price' does not appear. 'price_cal()' works fine (I did test it - simple function). I don't know what the problem is... no error message come out. only price does not appear. it says "None" Here are the codes at views.py from django.shortcuts import render, redirect from .area import suburbs def price_detail(request): if request.method == "POST": flight_date = request.POST.get('flight_date') flight_number = request.POST.get('flight_number') suburb = request.POST.get('suburb') no_of_passenger = request.POST.get('no_of_passenger') def price_cal(): if flight_number == 'Drop off To airport': return int(suburbs.get(suburb)) + (int(no_of_passenger) * 10) - 10 elif flight_number == 'Pickup from airport': return int(suburbs.get(suburb)) + (int(no_of_passenger) * 10) price_cal() price = price_cal() return render(request, 'basecamp/price_detail.html', {'flight_date': flight_date, 'flight_number': flight_number, 'suburb': suburb, 'no_of_passenger': no_of_passenger, 'price': price}, ) else: return render(request, 'basecamp/price_detail.html', {}) I am now struggling with this matter for several days... please help me or any hint, much appreciated. -
How to deploy Docker project(Django,nginx,gunicorn) to Production environment
I'm currently developing an application using Django, Nginx, Gunicorn, Postgresql, and Docker. I've created a simple project that just displays a welcome page of Django. I can check the display and operation in the local server(0.0.0.0/), but I cannot check the display and operation if I start the project in the production environment(remote server)()... How could I solve this problem? Directory structure docker_django ├─Dockerfile ├─docker-compose.yml ├─requirements.txt ├─entrypoint.sh ├─docker_django │ │─django_project │ │ ├─settings.py │ │ ├─urls.py │ │ ├─wsgi.py │ │ ├─asgi.py │ │ └─__init__.py │ └─manage.py ├─nginx │ ├─Dockerfile │ └─default.conf └─.env Here are the codes: Dockerfile FROM python:3 RUN pip install --upgrade pip COPY ./requirements.txt . RUN pip install -r requirements.txt COPY ./django_project /app WORKDIR /app COPY ./entrypoint.sh / ENTRYPOINT ["sh", "/entrypoint.sh"] docker-compose.yml version: "3.7" services: db: image: postgres environment: - "POSTGRES_USER=postgres" - "POSTGRES_PASSWORD=postgres" django_gunicorn: volumes: - static:/static env_file: - .env build: context: . ports: - "8000:8000" depends_on: - db nginx: build: ./nginx volumes: - static:/static ports: - "80:80" depends_on: - django_gunicorn volumes: static: requirements.txt Django==3.0.8 gunicorn==20.0.4 psycopg2 entrypoint.sh #!/bin/sh python manage.py migrate --no-input python manage.py collectstatic --no-input gunicorn django_project.wsgi:application --bind 0.0.0.0:8000 settings.py import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SECRET_KEY = os.getenv('SECRET_KEY') DEBUG = os.getenv('DEBUG') ALLOWED_HOSTS = ['*'] ... … -
SQL join that happens in the view of Django Rest Framework
I just want to know what type of SQL join is happening in the following view. I read about types of SQL joins but I am not able to figure out what is happening here. class WishListItemsView(ListAPIView): permission_classes = [IsAuthenticated] serializer_class = WishListItemsCreateSerializer def get_queryset(self): user = self.request.user return WishListItems.objects.filter(owner=user) My models: class WishListItems(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE,blank=True) #wishlist = models.ForeignKey(WishList,on_delete=models.CASCADE, related_name='wishlistitems') item = models.ForeignKey(Product, on_delete=models.CASCADE,blank=True, null=True) wish_variants = models.ForeignKey(Variants,on_delete=models.CASCADE, related_name='wishitems') I can see it in Django debug toolbar, but it is authenticated so I cant see the quries. -
mw_instance = middleware(adapted_handler) TypeError: __init__() takes 1 positional argument but 2 were given
I have upgraded python and django version. resolved all the conflicts but unable to get the cause of this error. old -> python 3.5, django 1.8 upgraded -> python 3.9 django 3.2 Any Idea why this error is for? Exception in thread django-main-thread: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 950, in _bootstrap_inner self.run() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 888, in run self._target(*self._args, **self._kwargs) File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 138, in inner_run handler = self.get_handler(*args, **options) File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/contrib/staticfiles/management/commands/runserver.py", line 27, in get_handler handler = super().get_handler(*args, **options) File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 65, in get_handler return get_internal_wsgi_application() File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/servers/basehttp.py", line 45, in get_internal_wsgi_application return import_string(app_path) File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/utils/module_loading.py", line 17, in import_string module = import_module(module_path) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 790, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/Users/m.susmita/code/seldon-hercules/sp-hercules/opdashboard/wsgi.py", line 29, in <module> application = get_wsgi_application() File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application return WSGIHandler() File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/handlers/wsgi.py", line 127, in __init__ self.load_middleware() File "/Users/m.susmita/code/venv3_9_0/lib/python3.9/site-packages/django/core/handlers/base.py", line 58, in load_middleware mw_instance = … -
Django REST authentication not working with React
actually I want: if a user is authenticated: then create/get the Cart with user, else: create/get the Cart with session key. But at first problem happened with authentication. At first I tried to register the user and saved the key(got from drf) in local storage. in Reactjs: signupHandler=()=>{ fetch('http://127.0.0.1:8000/api/rest-auth/registration/', { method: 'POST', headers:{ 'content-type':'application/json', }, body:JSON.stringify({ 'username':this.state.username, 'email': this.state.email, 'password1': this.state.pass1, 'password2': this.state.pass2 }) }) .then((response)=>{ response.json().then((result)=>{ if (result.key !== undefined){ localStorage.setItem('login', JSON.stringify({login: true,token:result.key})) this.setState({registered: true}) } }) }) } I think no problem here. if I console.log() the key , it prints the key successfully. now look at my views.py . I think the problem is here. @api_view(['GET']) #@permission_classes((IsAuthenticated,))<<< if i comment out this line, and try to call this function, it shows >>>Forbidden: /addToCart/21/ def addToCart(request, pk): print(request.user)#>>>AnonymousUser product = get_object_or_404(Product, pk=pk) if request.user.is_authenticated: print('authenticated')#>>> nothing prints mycart, __ = Cart.objects.get_or_create(user=request.user) mycart.product.add(product) else: print('session')#>>>session if not request.session.exists(request.session.session_key): request.session.create() mycart, __ = Cart.objects.get_or_create(session_key=request.session.session_key) mycart.product.add(product) return Response({'response':'ok'}) now i made a button and if i click, this function call reactjs: addToCart=()=>{ var id = this.props.id let store = JSON.parse(localStorage.getItem('login')) console.log(store.token);//successfully print the key var url = 'http://127.0.0.1:8000/addToCart/'+id+'/' fetch(url,{ method:'GET', headers: { 'Content-Type': 'application/json', 'Authorization': 'Token '+store.token } }).then(res=>res.json().then(result=>{ if(result.response === … -
How to subscribe to a model in django channels rest framework?
I'm trying to subscribe for changes in a model using Django Channels Rest Framework. I've been following the example at https://djangochannelsrestframework.readthedocs.io/en/latest/examples/model_observer.html and at latest following question: How to subscribe to all instances of a model in django channels rest framework?. However, I'm not receiving updates via WebSockets when the models are updated. I'm having consumser set as below: # consumers.py from djangochannelsrestframework.consumers import AsyncAPIConsumer from djangochannelsrestframework.observer import model_observer from .models import User, Comment class ModelConsumerObserver(AsyncAPIConsumer): async def accept(self, **kwargs): print("WebSocket Connect 1") await super().accept() print("WebSocket Connect 2") await self.model_change.subscribe() print("WebSocket Connect 3") @model_observer(Comment) async def model_change(self, message, **kwargs): print("Model Observer 1") await self.send_json(message) print("Model Observer 2") I'm trying to subscribe for Comment-model as in the example in documentation. However, I'm not receiving the updates on model. On my side there is currently no authentication, no exception on server. The local server console shows: System check identified no issues (0 silenced). June 06, 2021 - 10:11:10 Django version 3.2.3, using settings 'websocket.settings' Starting ASGI/Channels version 3.0.3 development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. HTTP GET / 200 [0.01, 127.0.0.1:64527] WebSocket HANDSHAKING /ws/my-consumer/ [127.0.0.1:64528] WebSocket Connect 1 WebSocket CONNECT /ws/my-consumer/ [127.0.0.1:64528] WebSocket Connect 2 WebSocket Connect 3 I'm not sure, … -
Uncaught (in promise) SyntaxError: Unexpected end of JSON input for JSON data processing received form Django backend
I have used Django to develop a web app. When I tried to receive and process the JSON data sent from backend, error occurs: Uncaught (in promise) SyntaxError: Unexpected end of JSON input at Function.parse [as parseJSON] (<anonymous>) view.py: @csrf_exempt def content_checklist_name_url(request): msg = "Duplicate Entry. This Course Code already exists." json_data = {'msg': msg} return JsonResponse(json_data) Javascript: const response = await fetch({% url 'bms:content_checklist_name_url' %}); var msg_json = jQuery.parseJSON("{{json_data}}"); console.log(msg_json.toString()); if (msg_json === "Duplicate Entry. This Course Code already exists.") ... -
Django website can't find template in new project website
Hey I'm looking for some advice on my situation as I can't seem to figure this out. I'm trying to build a website with Django following along with the tutorial they have on the webpage and I got stuck at a step where I want to add a view to my web page. My folder structure is so fart like this: PersonalWebsite | |--PersonalWebsite | |--urls.py |--dashboard | |--urls.py |=-views.py |--templates |--dashboard | |--index.html In my PersonalWebsite/urls.py I have : urlpatterns = [ path('admin/', admin.site.urls), path('', include('dashboard.urls')), path('resume/', include('resume.urls')), ] In my dashboard/urls.py I have: urlpatterns = [ path('', views.index, name='index'), ] And in my dashboard/view.py I have: def index(request): return render(request, 'dashboard/index.html') Then I have just some html in the index.html. I'm trying to basically have the dashboard app as the landing page of the website and from there I want to redirect to other apps like portofolio, articles, etc. My issue is that now I get a TemplateNotFound error when the website tries to access dashboard/index.html at localhost:8000/ address. I haven't changed anything in the settings files, it is a standard project. Any idea's why it can't find the index.html? -
FileNotFoundError in Docker django project even though the file is present
I had created a django project and it was working correctly. Then I dockerised the project. Now I an getting this file not found error even though the file is present at the address. It is a normal text file which the views.py file needs to access. -
How to access fields of a Model from ForeignKey for Validation?
Basic idea is Task --> Submission means each submission is associated with a Task with ForeignKey. This is my models.py file from django.db import models from django.core.validators import FileExtensionValidator class Task(models.Model): task = models.CharField(max_length=20) min_marks = models.IntegerField(default=0) max_marks = models.IntegerField(default=100) late_submission_date = models.DateField() late_submission_panalty = models.IntegerField() file_type = models.CharField(max_length=10) file_size = models.IntegerField("File Size in mb") created_date = models.DateTimeField(auto_now_add=True) def __str__(self): return f"Task:{self.task}" class Submission(models.Model): task = models.ForeignKey(Task, on_delete=models.CASCADE) team_id = models.IntegerField(unique=True) file = models.FileField("File", validators=[FileExtensionValidator(allowed_extensions=['zip'])]) # see here created_date = models.DateTimeField(auto_now_add=True) def __str__(self): return f"{self.team_id}@{self.created_date.strftime('%H:%M_%d_%m_%Y')}" Inside Submissions --> file i want to access file_type of task so i could validate submission file extension. I am really new to Django so any help would be nice. -
IntegrityError at /users/signup NOT NULL constraint failed: users_user.username
What I was doing I was making the signup form with using ModelForm in forms.py and FormView in views.py. I am making users to use their email as their username when they are logging in so that they can easily set new passwords if they lost. Error Image It just threw IntegrityError in my console. IntegrityError at / NOT NULL contraint failed What I have tried to solve issue I deleted all the migration files and db file so that there won't be any duplicated users in my database. And then I created new superuser and then created new user. I got rid of email field in fields in Meta class and then created cleaning method of email (def clean_email(self):). However this solution didn't work obviously because it will delete the email field in my signup form. Source code Below are my all source codes that might be related to this topic. templates/users/signup.html {% block content %} <section id="signup"> <form method="POST", action="{% url 'users:signup' %}"> {% csrf_token %} {{ form.as_p }} <button type="submit">Signup</button> </form> </section> {% endblock content %} users/forms.py class SignupForm(forms.ModelForm): class Meta: model = models.User fields = ['first_name', 'last_name', 'email'] password = forms.CharField(widget=forms.PasswordInput) confirm_password = forms.CharField(widget=forms.PasswordInput, label='Confirm Password') … -
Daphne showing blank screen on browser with Django ASGI, unable to load static files. Why?
When I run the server using :- python manage.py runserver everything is working correctly, but for the hosting purpose I have to run it with daphne which is not working correctly. Its not giving any error but showing blank screen because it is not loading static files even though I have specified STATIC_URL and STATICFILES_DIRS in settings. asgi.py settings.py command view browser showing blank screen Help me fixing it, its been so long I am searching for the solution but unable to figure out any. if anything else required in question comment me, I will re-edit for the same. -
How to create a url for each object in django rest?
I have a Jason file. I want to create a url for each object with django rest. How do I do that? example json: [{"name":"John","age":30,},{"name":"ali","age":44,},] -
How to fix errors when trying to run a server using django?
I'm trying to learn how to use Django and I have created a folder called "lecture3" and when I type in lecture3 % python manage.py runserver, I get the error lecture3 : The term 'lecture3' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 lecture3 % python manage.py runserver ~~ CategoryInfo : ObjectNotFound: (lecture3:St ring) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException