Динамический URL, ориентированный на пользователя, не загружается - Django

У меня такая проблема: я могу регистрировать и вводить пользователей, но когда я просматриваю данные (как пользователь, вошедший в систему), ничего не загружается. Я долго бился над этим и просто не могу разобраться. Когда я смотрю на страницу ошибки Django, она показывает, что извлекает правильного пользователя, но не показывает его.

Проблема динамического URL для каждого пользователя - Страница ошибки Django

Вот urls.py:

from django.urls import path
from.import views


urlpatterns = [
path('',views.HomePage, name='HomePage'),
path('category/<slug:slug>', views.CategoryPage, name='image-date'),

path('<slug:slug_customer>/',views.Customer),

Вот models.py:

from django.db import models
from django.template.defaultfilters import slugify
from django_resized import ResizedImageField
from django.utils import timezone
from uuid import uuid4
from django.urls import reverse

class User(models.Model):
    user_name = models.CharField(max_length=100)

    #insert way to have user specific .csv link

class Category(models.Model):
    title = models.CharField(null=True, blank=True, max_length=200)    

class Image(models.Model):
    description = models.TextField(null=True, blank=True)
    altText = models.TextField(null=True, blank=True)
    

    #ImageFields
    squareImage = ResizedImageField(size=[1000, 1000], crop=['middle', 'center'], default='default_square.jpg', upload_to='DB Pictures')
    
    #Related Fields
    category = models.ForeignKey(Category, null=True, blank=True, on_delete=models.CASCADE)

    

Вот мой views.py:

from django.shortcuts import render
from .models import *

# Create your views here.

def HomePage(request):
    categories = Category.objects.all()

    context = {}
    context['categories'] = categories

    return render(request, 'HomePage.html', context)


def CategoryPage(request):
    categories = Category.objects.all()
    context = {}
    context['categories'] = categories

    return render(request, 'CategoryPage.html', context)


def DataPage(request, slug, slug_customer):
    # customer = Category.objects.get(user_name=slug_customer)
    category = Category.objects.get(slug=slug)
    images = Image.objects.filter(category=category)

    context = {}
    context['category'] = category
    context['image'] = images #sending backend of image and category to the front so it's dynamically loaded with each category and image

    return render(request, 'DataPage.html', context)

def Customer(request, slug_customer):
    obj = User.objects.get(slug=slug_customer)
    return render(request, "CategoryPage.html")

Вот мой Github с последним выложенным кодом, если вы хотите увидеть весь проект: https://github.com/ReubenNinan/CropDrone2.git

Я думаю, что проблемы в основном лежат в LoginScreen/views.py; LoginScreen/models.py; LoginScreen/urls.py

Вы узнаете, что это работает, потому что появится страница, очень похожая на эту:

Проблема динамического URL для каждого пользователя - Django Страница категорий

Проблема динамического URL для каждого пользователя - Django Альбом фотографий после выбора даты на странице категорий

Вопрос здесь:

def Customer(request, slug_customer):
    obj = User.objects.get(slug=slug_customer) # THIS LINE
    return render(request, "CategoryPage.html")

Модель пользователя, которую вы используете здесь, является вашей собственной пользовательской моделью, а не моделью пользователя, предоставляемой django. Чтобы использовать ее, вам нужно импортировать ее следующим образом:

from django.contrib.auth.models import User

Это должно решить вашу проблему. А также не импортируйте все сразу, используя '*' - это плохая практика, и импортируйте только то, что вам нужно.

Вернуться на верх