Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Using custom queries with Django annotate
In annotate. When counting records, how can I use a custom query to narrow down what to count? class User(models.Model): name = models.CharField(max_length=50) class Tweet(models.Model): user = models.ForeignKey("User", related_name="tweet") favorite = models.IntegerField(default=0) is_active = models.BooleanField(default=False) objects = TweetQuerySet.as_manager() class TweetQuerySet(models.QuerySet): def buzzed(self): return self.filter( is_active=True, favorite__gte=100 ) # I want to count only the tweets returned using the buzzed query. users = User.objects.annotate(tweet_count=Count("tweet")) Thanks in advance. -
message.success not showing
I'm trying to set up success messages for whens u user successfully logs in. But it is not working for me. I Have tried both in and out of block, both don't work. View: def UserLogin(request): if request.method == "POST": username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) messages.success(request,("You were successfully logged in...")) return redirect('home') else: messages.success(request, ("There was an error logging in, please try again...")) return redirect('login') return render(request, 'registration/login.html', {}) Main.html: {% if messages %} {% for message in messages %} <div class="alert alert-warning alert-dismissible fade show alert-main" role="alert"> <p style="color: darkgreen;">{{ message }}<p> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> {% endfor %} {% endif %} {% block content %} {% endblock %} -
Cant loging in django app service using auth
I develope a website using django, nginx and docker in an azure container registry and app service. when i run the image using docker desktop it runs properly, but when i try to login in appservice in only redirect me to login page. I want to use the default database of django proyect. I am using a simple auth as follow from django.contrib.auth.decorators import login_required @login_required def home(request): username = request.user.username context = {'username': username} return render(request, 'Home/home.html', context) I added in my settings the follow AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.ModelBackend', ] AUTH_USER_MODEL = 'auth.User' ROOT_URLCONF = 'sitioindicadores.urls' and also CSRF_TRUSTED_ORIGINS = ['https://*.abc.net/','https://*.127.0.0.1'] SESSION_COOKIE_DOMAIN='https://abc.azurewebsites.net/' my nginx and docker are: server web:8000; } server { listen 80; location / { proxy_set_header Host $host; proxy_pass http://app_server; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /static/ { autoindex on; alias /app/static/; } } and FROM python:3.10 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 WORKDIR /app COPY sitioindicadores . RUN pip install -r requirements.txt COPY nginx.conf /etc/nginx/sites-available/default RUN python manage.py collectstatic --noinput && python manage.py makemigrations && python manage.py migrate EXPOSE 80 CMD ["gunicorn", "--bind", "0.0.0.0:80", "sitioindicadores.wsgi:application"] i dont know why it runs ok in docker but not in the web. I'd appreciate … -
Form filtering in Django?
error: 'RegisterlesonForm' object has no attribute 'id' form class RegisterlesonForm(forms.ModelForm): class Meta: model = Registerleson fields = ['leson', 'book', 'discount'] widgets = { 'leson': forms.Select(attrs={'class': 'form-control'}), 'discount': forms.NumberInput(attrs={'class': 'form-control'}), 'book': forms.Select(attrs={'class': 'form-control'}), } def __init__(self, *args, **kwargs): super(RegisterlesonForm, self).__init__(*args, **kwargs) self.fields['leson'].queryset = Registerleson.objects.raw( "SELECT * FROM classes_classes WHERE classes_classes.id not IN (SELECT leson_id FROM member_registerleson WHERE student_id = %s )", {self.id}) -
how can i code a plagiarism detector using python django [closed]
I want to make a website where a web URL given by the user is compared with the text entered by the user and the copy rates are printed on the screen. how can i code this with django? i used jaccard similarity to find the plagiarism ratio but I don't know how to ask the user to enter a text and whether that text has been copied from a website. My goal is to make a simple version of turnitin. -
Select using Django/Ajax
In the user profile page, there is a section for user to see the comments made on their posts. There is also a Select filter to query comments by Post. I am trying to use AJAX with the goal of avoiding page reload/refresh. Where am I going wrong? Since the page is still refreshing, I think I am missing some sort of div wrapper around my results. Besides that, the script probably needs more details. The /api url is showing the objects in Json format if I visit the link. urls.py: path('api/',views.api,name='api'), path('profile/<str:pk>/', views.profile, name='profile') views.py def profile(request,pk): user = request.user posts = Post.objects.filter(active=True, owner=request.user) notfirstvisit = UserFirstVisit.objects.filter(user=request.user) comments = Comment.objects.filter(post_owner=request.user) filter_post = request.GET.get('filter_post', None) if filter_post: comments = comments.filter(post__id__exact=filter_post) return render(request, 'profile.html', {'user':user, 'notfirstvisit':notfirstvisit, 'posts':posts, 'comments':comments}) profile.html: <form id="filter_post_form"> <select class="form-select" id="filter_post" name='filter_post'> <option value=""{% if value == "" %}selected {% endif %}>Select Post</option> {% for post in posts %} <option value="{{post.id}}" {% if post.id == filter_post %} selected="selected" {% endif %}> {{post.title}} - {{post.created}} </option> {% endfor %} </select> <br> <button name="filter" id="filter" class="btn btn-primary" type="submit">Apply Filter</button> <button name="clear" id="clear" class="btn btn-primary">Clear Filter</button> <br> </form> <div style="overflow-y:auto;max-height: 500px;"> {% for comment in comments %} <div class="card container py-1"> … -
How do you embed a webpack ReactJs bundle file in Django templates html file?
I used webpackJs to generated a dist folder with an index.html and bundle.js. I then copied the bundle.js into my Django project, used django template language to embed the bundle.js into a django index.html file containing a root div. When the browser downloads the index.html and bundle.js files at the root localhost/index, only Django Site with ReactJs appears. I dont understand, how are you suppose to run ReactJs in production? index.html file serving ReactJs Bundle from Webpack The bundle.Js is located in a static folder in the Django application <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Index</title> {% load static %} <script src="{% static '/Core_CRUD/bundle.js' %}" type="text/javascript"></script> </head> <body> <h1>Django Site with ReactJs</h1> <div id="root"></div> </body> </html> Tried debugging, didnt work -
Django admin page - open 'VIEW SITE' in a new tab?
In admin portal of my Django app (v. 3.1), is it possible to configure the "VIEW SITE" link in the site header so that it will open in a new tab, target="blank"? I'm referring here to the link whose href can be configured via admin.site.site_url... I'd like to give my admin users quick and easy access to the site linked there, but I don't want them to be navigating away from their authenticated admin session. I currently have this value set to a custom configuration in urls.py like so protocol = 'https' domain = 'mysite.com' if os.environ.get('DJANGO_DEVELOPMENT'): protocol = 'http' domain = 'localhost:8080' admin.site.site_url = f'{protocol}://{domain}' as this URL actually needs to point at an application running on a different server. -
Is there a way to make a Form table that submits all the values?
In my django project, I have the following code that ideally the user to could edit modify an then submit, sending the all of the values to my views.py via forms.py (or any other possible way) so I can perform some calculations on the values. I have only gotten the code to work when it sends one value that has been changed then submitted but I need all of the values in the table. Any suggestions on how to do this would be greatly appreciated. function edit(element) { var tr = jQuery(element).parent().parent(); if (!tr.hasClass("editing")) { tr.addClass("editing"); tr.find("DIV.td").each(function() { if (!jQuery(this).hasClass("action")) { var value = jQuery(this).text(); jQuery(this).text(""); jQuery(this).append('<input type="text" value="' + value + '" />'); } else { jQuery(this).find("BUTTON").text("save"); } }); } else { tr.removeClass("editing"); tr.find("DIV.td").each(function() { if (!jQuery(this).hasClass("action")) { var value = jQuery(this).find("INPUT").val(); jQuery(this).text(value); jQuery(this).find("INPUT").remove(); } else { jQuery(this).find("BUTTON").text("edit"); } }); } } .table { display: table; border-collapse: separate; border-spacing: 2px; } .thead { display: table-header-group; color: white; font-weight: bold; background-color: grey; } .tbody { display: table-row-group; } .tr { display: table-row; } .td { display: table-cell; border: 1px solid black; padding: 1px; } .tr.editing .td INPUT { width: 100px; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form> <div class="thead"> <div class="tr"> <div class="td">Column … -
Assign registered User to Customer Model
I want to assign a new registered User to my customer model. At the moment user is successfully registered into the back end but is not assigning to a new Customer model, When redirected to home page after registration the following error occurs: Exception Value: User has no customer. The error is pointing to this utils model: def cartData(request): if request.user.is_authenticated: customer = request.user.customer order, created = Order.objects.get_or_create(customer=customer, order_status='P') items = order.orderitem_set.all() cartItems = order.get_cart_items else: cookieData = cookieCart(request) cartItems = cookieData['cartItems'] order = cookieData['order'] items = cookieData['items'] return {'cartItems': cartItems, 'order': order, 'items': items} Customer Model: class Customer(models.Model): user = models.OneToOneField( User, on_delete=models.CASCADE, null=True) first_name = models.CharField(max_length=255) last_name = models.CharField(max_length=255) email = models.EmailField(unique=True) phone = models.CharField(max_length=255) birth_date = models.DateField(null=True) User Register and Login Views: def UserRegister(request): if request.method == "POST": form = UserRegisterForm(request.POST) if form.is_valid(): form.save() username = form.cleaned_data['username'] password = form.cleaned_data['password1'] user = authenticate(username=username, password=password) login(request, user) messages.success(request, ("Registration successful, you are now logged in...")) return redirect('home') else: form = UserRegisterForm() return render(request, 'authenticate/register.html', {'form': form}) def UserLogin(request): if request.method == "POST": username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) messages.success(request, ("You were successfully logged in...")) return redirect('home') … -
What service should I use to deploy my Django App? [closed]
I'm about to deploy my django web app and I've been doing research on what service to use. My only requirements is that it be reliable, be able to host images, and somewhat scalable to 10k+ users, and host database. An fantastic extra is that it would also be easy. I've previously used Heroku and I loved the fact that it was so easy to deploy, but the downside was that it couldn't save any images. I'm looking for a long term scalable solution. Does anybody have suggestions on what to use? So far after my research the top choices seem to be Railway.app and AWS Lambda. I'm a bit scared of AWS because it's so incredibly confusing, but I am starting to lean towards it since it seems everybody is using it and seems like it will be around for a long time. But I'm hoping the more seasoned developers will have a better recommendation or solution to this. -
how to create a vite and django project?
I worked with WebPack and found a lot of issues. I would like to give it a shot using Vite as a frontend. I followed this guide and a bunch of YouTube videos but i didn't understand much and nothing is working. What is the best way to create a Vite(React) + Django app? -
crispy forms adding is-invalid class to my fields before form submission
I am using Django. I have created my forms as below forms.py class PostForm(forms.Form): title = forms.CharField(max_length=50, required=True) body = forms.CharField(max_length=10000, required=True,widget=forms.Textarea(attrs={"rows":"5"})) from_location = forms.CharField(max_length=50, required=True) to_location = forms.CharField(max_length=50, required=True) views.py def create_post(request): if request.user.is_authenticated: post_form = PostForm(request.POST) print('printing title..') if request.method == 'POST': if post_form.is_valid(): post = Post.objects.create(title = request.POST['title'], body=request.POST['body'], from_location=request.POST['from_location'], to_location=request.POST['to_location'], author = request.user, uuid = uuid.uuid4()) message = messages.success(request, f'Your post has been created!') return redirect(reverse_lazy('posts:post')) else: post_form = PostForm() return redirect(reverse_lazy('posts:post')) context = { 'post_form':post_form } return render(request, 'posts/create_post.html', context) I am getting a red border on all the form fields. I realized that crispy-forms has added the class is-invalid to all the fields making this. If I make required=False in forms, the error is gone. Current output expected output is the image above without the red borders and warnings I tried removing the class from dev tools and it worked. I asked chatGPT and tried its methods, but it did not help -
Pass title of product into order in Django Admin
I want to be able to view the title of a product that has been ordered rather than having to cross reference order ids from different fields. I have tried using ForeignKey but it doesnt automatically set the product title. I have to manually select from dropdown list. PRODUCT/PHOTO class Photograph(models.Model): photo = models.ImageField(null=False, blank=False, upload_to="photos/", default="default.png") title = models.CharField( max_length=100, null=False, blank=False, default="") description = models.TextField() ORDER *class Order(models.Model): PAYMENT_STATUS_PENDING = 'P' PAYMENT_STATUS_COMPLETE = 'C' PAYMENT_STATUS_FAILED = 'F' PAYMENT_STATUS_CHOICES = [ (PAYMENT_STATUS_PENDING, 'Pending'), (PAYMENT_STATUS_COMPLETE, 'Complete'), (PAYMENT_STATUS_FAILED, 'Failed') ] customer = models.ForeignKey( Customer, on_delete=models.PROTECT, null=True, blank=True) order_id = models.IntegerField(null=True) order_date = models.DateTimeField(auto_now_add=True) order_status = models.CharField( max_length=1, choices=PAYMENT_STATUS_CHOICES, default=PAYMENT_STATUS_PENDING ) def __str__(self): return str(self.id)* -
how to run manage.py migrate on docker everytime is up
I'm trying to figure out how to use docker with a django+postgress application, but I can't manage to make my django_app connect to it and apply the initial migrations docker-compose.yml version: "3" services: database: image: postgres:11.18-bullseye ports: - "5432:5432" volumes: - ./backup_data/db:/var/lib/postgresql/data environment: - POSTGRES_DB=postgres - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_HOST_AUTH_METHOD=trust backend: build: ./backend volumes: - ./backend:/app depends_on: - database frontend: build: ./frontend volumes: - ./frontend:/app depends_on: - backend ports: - 80:80 nginx_backend_server: build: ./nginx_backend_server ports: - 8000:8000 depends_on: - backend volumes: backup_data: I have called my container "database", so on my settings.py, I'm trying to connect to the host database, not sure if it's correct settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'PASSWORD': 'postgres', 'HOST': 'database', 'PORT': 5432, } } and the Dockerfile on my backend looks like this: FROM python:3.8 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 COPY . /app WORKDIR /app RUN pip3 install -r req.txt RUN python manage.py makemigrations CMD python manage.py migrate CMD gunicorn -b 0.0.0.0:8000 --worker-class=gevent --worker-connections=1000 --workers=5 backend.wsgi When I hit docker-compose up, this is my log from my database: database_1 | waiting for server to start....2023-03-26 18:12:13.705 UTC [50] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" database_1 | 2023-03-26 … -
When adding to the cart, if the user is not logged in, it is added to the wishlist. Django Ajax JavaScript
I want my system to remember not only products of authorized people, but also those who are not authorized. I made a similar cookie system for cart and wishlist that works until you log out. In addition, I can say that both buttons of the add behavior (to cart, to wishlist) both behave like adding to cart, in the state of an unauthorized user. For example, a wishlist has a limit of 1 product of the same type, but if you go out and add to cart, which will result in being added to the wishlist, you can make an infinite number of additions as in the cart. The same goes for the wish list button. I think it's in the behavior of js, what, perhaps, I need to add or change? wishlist.js add button var updateBtns = document.getElementsByClassName('update-wishlist') for (i = 0; i < updateBtns.length; i++) { updateBtns[i].addEventListener('click', function(){ var productId = this.dataset.product var action = this.dataset.action console.log('productId:', productId, 'Action:', action) console.log('USER:', user) if (user == 'AnonymousUser'){ addCookieItem(productId, action) }else{ updateUserWish(productId, action) } }) } order update function updateUserWish(productId, action){ console.log('User is authenticated, sending data...') var url = '/update_wish_item/' fetch(url, { method:'POST', headers:{ 'Content-Type': 'application/json', 'X-CSRFToken':csrftoken, }, body:JSON.stringify({'productId':productId, 'action':action}) … -
Image front changes from system to system
I tried to convert pdf file to image using python package pdf2img. On my local ubuntu system it is working fine But when i deployed to the aws linux system after the pdf gets converted to img its font changes. I tried manually uploading my specific font to server and specifying it in linux connfig config but still my server loads different font while converting pdf to img. this is the code i used, I doubt it will be of any use but still putting it down images= convert_from_bytes(pdf_content) # Save the first page of the image as PNG to BytesIO img_byte_arr = io.BytesIO() images[0].save(img_byte_arr, format='WEBP') # Set the BytesIO cursor position to 0 to read from the beginning img_byte_arr.seek(0) self.delete_pdf(f"/tmp/{self.user_id}_deal_or_order_receipt.pdf") return [img_byte_arr.getvalue(), img_byte_arr] can anyone tell if I am missing something? Really trying to figure it out from three days. -
displaying and processing a django form
I am newbie. I have some kind of online store. I need that after clicking on the buy button, which is located on the product page, the user is redirected to a page with a checkout form that contains the fields: phone number, mail and the product itself. URLS.PY from django.urls import path from first.views import productsHTML, productHTML, products_category, product_buy urlpatterns = [ path("productsHTML/<str:uuid>/buy", product_buy, name = "product_buy"), path("products_category/<str:id_category>", products_category, name = "products_category"), path("productsHTML/<str:uuid>", productHTML, name = "productHTML"), path("productsHTML/", productsHTML, name = "productsHTML"), ] FORMS.PY class OrderForm(forms.ModelForm): class Meta: model = Order fields = ['email', 'phone_number'] widgets = { 'email': forms.EmailInput(), 'phone_number': forms.TextInput(), } VIEWS.PY def product_buy(request, uuid): if request.method == 'GET': product = Product.objects.get(id=uuid) form = OrderForm() return render(request, 'product_buy.html', {'product': product, 'form': form}) if request.method == 'POST': try: if form.is_valid(): product = Product.objects.get(id=uuid) email = form.cleaned_data['email'] phone_number = form.cleaned_data['phone_number'] order = Order.objects.create(email=email, product=product,phone_number=phone_number) return redirect('productsHTML') except: return render(request, 'productHTML.html', uuid = uuid) I use a construction try except so that in case of creating an order, the user is redirected to the page with all the products, and in case of failure: to the page of the product that he wanted to buy. PRODUCT_BUY.HTML {% extends 'products.html' %} … -
Can I used python programming for searchin rooms instead of javascripts
I am developing an Hotel booking website using django frameword how will created the search page can i used html value and pass to my view, or I will have to used javascript.(but I am not so good in js:|) I am expecting to used python and pass the html value in view.py files -
"TemplateDoesNotExist at /" django react webpack project
I have a Django React app integrated using WebPack. File structure as follows: |--CSP |--api /*django side*/ |--CSP |--Settings.py |--urls.py |--frontend /*react side*/ |--dist /*The template*/ |--index.html |--bundle.js |--src |--components |--App.js |--index.js |--styles.css |--tailwind.config.js |--postcss.config.js |--urls.py |--views.py |--webpack.config.js Settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'api.apps.ApiConfig', 'rest_framework', 'frontend.apps.FrontendConfig' ] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] Views.py (frontend) from django.shortcuts import render # Create your views here. def index(request, *args, **kwargs): return render(request, '/csp/frontend/dist/index.html') urls.py (frontend) from django.urls import path from . import views urlpatterns = [ path('', views.index) ] webpack.config.js const path = require('path') var webpack = require('webpack'); module.exports = { mode: 'development', entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', }, devServer: { static: { directory: path.resolve(__dirname, 'dist'), }, port: 3000, open: true, hot: true, compress: true, historyApiFallback: true, }, module: { rules: [ { test: /\.css$/i, include: path.resolve(__dirname, 'src'), use: ['style-loader', 'css-loader', 'postcss-loader'], }, { test: /\.js$/, exclude: /node_modules/, use: { loader: "babel-loader", }, }, ], }, optimization: { minimize: true, }, plugins: [ new webpack.DefinePlugin({ 'process.env.NODE_ENV' : JSON.stringify('development') }) ], } Both react and django work perfectly … -
Django: Can I make a ForeignKey relation between one model and several others in Django?
I am new to Django, and not very advanced at this point. My goal is to make one "Comment" model that works for different "Post" models. My structure is as follows: class TunedCarPost(models.Model): ..... ..... class ConceptCarPost(models.Model): ..... ..... class ArticlePost(models.Model): ..... ..... class Comment(models.Model): post = models.ForeignKey( [TunedCarPost, ConceptCarPost, ArticlePost], related_name="comments", on_delete=models.CASCADE, ) ..... ..... I can't do such thing as: class Comment(models.Model): post = models.ForeignKey( [TunedCarPost, ConceptCarPost, ArticlePost], related_name="comments", on_delete=models.CASCADE, ) I tried to use an abstract model, so "Comment" only links to the abstract model: class Post(models.Model): ..... ..... class TunedCarPost(Post): ..... ..... class ConceptCarPost(Post): ..... ..... class ArticlePost(Post): ..... ..... class Comment(models.Model): post = models.ForeignKey( Post, related_name="comments", on_delete=models.CASCADE, ) ..... ..... But Django throws an exception that ForeignKey can't link to an abstract model. Is there any easy solutions for my case or my structure is total mess? -
runtime error on vercel for django project : No module named 'firebase_admin'
I am new to django and try to develop a web app which is based on firebase firestore .The app work fine in debug mode , however when i tried to deploy the app on web hosting site vercel it build successfully when i navigated my website it threw following exception : ERROR] ModuleNotFoundError: No module named 'firebase_admin' Traceback (most recent call last): File "/var/task/vc__handler__python.py", line 159, in vc_handler response = Response.from_app(__vc_module.app, environ) File "/var/task/werkzeug/wrappers/base_response.py", line 287, in from_app return cls(*_run_wsgi_app(app, environ, buffered)) File "/var/task/werkzeug/wrappers/base_response.py", line 26, in _run_wsgi_app return _run_wsgi_app(*args) File "/var/task/werkzeug/test.py", line 1096, in run_wsgi_app app_rv = app(environ, start_response) File "/var/task/django/core/handlers/wsgi.py", line 131, in __call__ response = self.get_response(request) File "/var/task/django/core/handlers/base.py", line 140, in get_response response = self._middleware_chain(request) File "/var/task/django/core/handlers/exception.py", line 58, in inner response = response_for_exception(request, exc) File "/var/task/django/core/handlers/exception.py", line 141, in response_for_exception response = handle_uncaught_exception( File "/var/task/django/core/handlers/exception.py", line 185, in handle_uncaught_exception callback = resolver.resolve_error_handler(500) File "/var/task/django/urls/resolvers.py", line 729, in resolve_error_handler callback = getattr(self.urlconf_module, "handler%s" % view_type, None) File "/var/task/django/utils/functional.py", line 57, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/var/task/django/urls/resolvers.py", line 708, in urlconf_module return import_module(self.urlconf_name) File "/var/lang/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 … -
Django app works in Firefox but not chrome or edge
I've noticed that testing a django app I'm working on in anything but firefox causes issues with navigation, giving 404 errors for anything except the index page. Having looked around I can see that the problem is to do with trailing slashes in the urlpatterns, but even the default admin app uses a trailing slash which causes issues in different browsers. For some reason, in firefox I can navigate to a url like 'admin/' or 'admin' and it points to the correct page no problem, yet in chrome and edge, I can only navigate to the page if the url pattern matches exactly, including trailing slashes or not. I was under the assumption based on documentation the append_slashes was true by default and that chrome also has this behaviour built in. -
google login fails in django
I have created a Django project with both Google login and normal email login. When I try to login with my email, it works fine. However, if I have the same email associated with a Google login, the Google login redirects me to a different sign-in URL. I want to be able to create different accounts for Google login and email login, or connect the two if they have the same email. Can you please assist me with this issue? Thank you. -
I get this error - "ValueError: The 'photo' attribute has no file associated with it."
I've a registration page that does 2 things: Creates a new user; Creates a profile for this user; However it doesn't work properly. It doesn't matter if I upload a photo or not. Every time I've the same error. It creates a user however the problem is with it's profile. Here is my models.py code: from django.db import models from django.contrib.auth.models import UserManager, AbstractUser from PIL import Image class CustomUserManager(UserManager): def create_user(self, username, email=None, password=None, **extra_fields): user = self.model( email=self.normalize_email(email), username=username, password=password, ) user.set_password(password) user.save(using=self._db) return user def create_superuser(self, username, email=None, password=None, **extra_fields): user = self.model( email=self.normalize_email(email), username=username, password=password ) user.set_password(password) user.is_admin = True user.save(using=self._db) return user class CustomUser(AbstractUser): email = models.EmailField(max_length=254, unique=True) is_active = models.BooleanField(default=True) is_admin = models.BooleanField(default=False) USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username'] objects = CustomUserManager() def __str__(self): return self.email def has_perm(self, perm, obj=None): return True def has_module_perms(self, app_label): return True @property def is_staff(self): return self.is_admin class Profile(models.Model): user = models.OneToOneField(CustomUser, on_delete=models.CASCADE) username = models.CharField(max_length=30) first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) birthdate = models.DateField(blank=True, null=True) photo = models.ImageField(default='default.png', upload_to='profile_pics', blank=True ) def __str__(self): return f"{self.user.username} Profile" def save(self, *args, **kwargs): super().save(*args, **kwargs) img = Image.open(self.photo.path) output_size = (300, 300) img = img.resize(output_size) img.save(self.photo.path) signup.html : {% block title …