gpt4 book ai didi

python-3.x - 类型错误 : metaclass conflict python 3; django 2

转载 作者:行者123 更新时间:2023-12-05 05:16:57 24 4
gpt4 key购买 nike

我正在学习 django 2 并且遇到了问题。我尝试继承一些类并出现此错误:“类型错误:元类冲突:派生类的元类必须是其所有基元类的(非严格)子类”

这是我的“view.py”代码:

from django.views.generic.base import TemplateView
from generic.mixins import CategoryListMixin


class MainPageView(TemplateView, CategoryListMixin):
template_name = 'mainpage.html'

但只有当“CategoryListMixin”类与“view.py”放在另一个文件夹中时,我才会卡住。如果我这样做:

from django.shortcuts import render
from django.views.generic.base import TemplateView
from django.views.generic.base import ContextMixin


class CategoryListMixin(ContextMixin):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['current_url'] = self.request.path
return context

class MainPageView(TemplateView, CategoryListMixin):
template_name = 'mainpage.html'

一切正常。

任何这样的解析:Multiple inheritance metaclass conflict没有帮助。可能是什么问题?谢谢。

最佳答案

我找到了解决这个问题的办法。我的文件和这个文件中的类具有相同的名称 CategoryListMixin 并且我需要导入类,但是我导入了文件并试图继承它。

错误在这一行:

from generic.mixins import CategoryListMixin

右行是:

from generic.mixins.CategoryListMixin import CategoryListMixin

之后一切正常

关于python-3.x - 类型错误 : metaclass conflict python 3; django 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49818728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com