Нет модуля с именем 'blog.slugs'
Я пытаюсь создать сайт-блог, но когда я пытаюсь импортировать generate_unique_slug из .slugs django выдает ошибку Нет модуля с именем 'blog.slugs'. не могли бы вы помочь мне исправить это?
models.py
from django.db import models
from user_profile.models import User
from django.utils.text import slugify
from ckeditor.fields import RichTextField
from .slugs import generate_unique_slug
# Create your models here.
class Category(models.Model):
title = models.CharField(max_length=150, unique=True)
slug = models.SlugField(null=True, blank=True)
created_date = models.DateField(auto_now_add=True)
def __str__(self) -> str:
return self.title
def save(self, *args, **kwargs):
self.slug = slugify(self.title)
super().save(*args, **kwargs)
class Blog(models.Model):
user = models.ForeignKey(
User,
related_name='user_blogs',
on_delete=models.CASCADE
)
category = models.ForeignKey(
Category,
related_name='category_blogs',
on_delete=models.CASCADE
)
title = models.CharField(
max_length=250
)
slug = models.SlugField(null=True, blank=True)
banner = models.ImageField(upload_to='blog_banners')
description = RichTextField()
created_date = models.DateField(auto_now_add=True)
def __str__(self) -> str:
return self.title
def save(self, *args, **kwargs):
updating = self.pk is not None
if updating:
self.slug = generate_unique_slug(self, self.title, update=True)
super().save(*args, **kwargs)
else:
self.slug = generate_unique_slug(self, self.title)
super().save(*args, **kwargs)
admin.py
from django.contrib import admin
from .models import *
# Register your models here.
admin.site.register(Category)
admin.site.register(Blog)
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'user_profile',
'ckeditor',
]
когда я удаляю этот код from .slugs import generate_unique_slug
ошибка исчезает. может я неправильно импортирую его? Я буду очень благодарен, если вы поможете решить проблему
В этой строке
from .slugs import generate_unique_slug
Вы пытаетесь импортировать generate_unique_slug из файла проекта, а как вы прокомментировали, у вас нет этого файла в проекте
Решением будет написать эту функцию generate_unique_slug вы можете поместить ее в файл call slugs.py и она будет работать, или написать эту функцию внутри модели и удалить эту строку
Примечание: эта функция должна содержать логику для генерации уникального slug в зависимости от того, что вы хотите