首页 > 解决方案 > AttributeError:模块'tagulous'在Django中没有属性'models'

问题描述

所以我一直在构建一个网络应用程序,对于标签系统,我决定使用 django-tagulous。但是,当我在我的模型中导入它时,我收到了这个错误:

AttributeError: module 'tagulous' has no attribute 'models' in Django

我已将它放在我python INSTALLED_APP的 settings.py 列表中,并将其导入到 models.py 中,但仍然出现错误。

这是一些代码。

模型.py

import tagulous

class Post(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=75)
    text = models.TextField()
    created_date = models.DateTimeField(default=timezone.now)
    image = models.ImageField(upload_to='post_images',blank=True,null=True)
    published_date = models.DateTimeField(blank=True,null=True,auto_now_add=True)
    NSFW = models.BooleanField(default=False)
    spoiler = models.BooleanField(default=False)
    interests = tagulous.models.TagField()
    tags = TaggableManager()

    def __str__(self):
        return self.title


    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)

在那个 Post 课程中,我在兴趣上使用它。

这是我的 forms.py PostForm

class PostForm(forms.ModelForm):
    class Meta():
        model = Post
        fields = ['title','text','image','interests','spoiler','NSFW']
        widgets = {
            'title':forms.TextInput(attrs={'class':'textinputclass'}),
            'text':forms.Textarea(attrs={'class':'textareaclass editable'}),

        }
    def __init__(self, *args, **kwargs):
        super(PostForm, self).__init__(*args, **kwargs)
        self.fields['image'].required = False

到目前为止,我在网上没有发现任何关于此错误的信息。我期待它能够工作,但它没有谢谢:)

标签: pythondjangodjango-modelsdjango-forms

解决方案


好吧,我继续深入研究他们的文档,结果发现他们有一个鲜为人知的模型所需的导入选项。


推荐阅读