相关疑难解决方法(0)

如何在 Flask 中实现 MIXIN?

因此,我想使用Mixin's,而不是使用 Base 类,我还没有找到太多关于在 FLASK 中使用 Mixins 的文档。任何人都可以帮助我如何实现 Mixins 而不是这个抽象的 Base 类吗?

class Base(db.Model):
    """
    Base class for models.

    Define the base class for the models so others can inherit from it.
    """

    __abstract__ = True

    def save(self):
        """
        Save to database.

        Save instance of the object to database and commit.
        """
        db.session.add(self)
        db.session.commit()

    def delete(self):
        """
        Delete from database.

        Deletes instance of an object from database
        """
        db.session.delete(self)
        db.session.commit()


class User(Base):
    """
    Set up the User model.

    Set …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

3
推荐指数
1
解决办法
3130
查看次数

Django TemplateResponseMixin

我是Django的新手,并试图通过基于类的视图来了解mixins.根据我的理解,mixins是包含来自其他类的方法组合的类(类似于多重继承).

我下面的官方文档和搜索上做题,但不明白为什么TemplateResponseMixin混入本身.不同类的哪些方法被注入TemplateResponseMixin

python django django-templates mixins django-views

2
推荐指数
1
解决办法
1158
查看次数

是否为golang代码建立了已建立的模式名称,该名称似乎类似于mixin

要点https://gist.github.com/anonymous/68c3b072538ec48c2667f7db276e781b是我要记录的现有代码库中遇到的重复golang代码模式的最小简化示例。从它的用法看,它看起来像一个mixin,但是我自己或我的任何同事都没有真正在golang中看到这种模式。谁能告诉我这种模式的合适名称?

要点试图说明:

  • 多种类型(A和B)使用的未经修改的行为实现代码(M的函数)。
  • 按组成包括在宿主类型(A和B)中。
  • 行为方法可以通过host.behaviour.method(...)调用并调用egaFormatter.FormatText(...)进行导出和访问。
  • 宿主方法由行为决定。
  • 该行为保持状态(私有或已导出),该状态会修改行为的执行。
  • 通过添加行为字段(例如b:= NewB()。Formatter),需要该行为的函数可以使用添加了特定行为的类型。
  • 可以将许多不同的行为组合成给定的类型(为简洁起见,实际上并未显示,但是您可以想象A,B中包含M1,M2,M3等)。

它似乎并不严格满足mixin的许多定义,因为它以编写M时无法理解的方式操纵宿主对象(可能修改宿主状态),并且不直接向宿主类型添加方法:

而且它似乎没有遵循我发现的一些自称为“ golang mixins”的模式:

go

2
推荐指数
1
解决办法
1608
查看次数

类对象属性的`get_context_data`

get_context_data类对象的属性的。

PasswordContextMixindjango / contrib / auth / views.py中遇到

class PasswordContextMixin:
    extra_context = None

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context.update({
            'title': self.title,
            **(self.extra_context or {})
        })
        return context
Run Code Online (Sandbox Code Playgroud)

我感到困惑context = super().get_context_data(**kwargs),因为它等于context = object.get_context_data(**kwargs)

 In [15]: getattr(object, 'get_context_data')
AttributeError: type object 'object' has no attribute 'get_context_data'
Run Code Online (Sandbox Code Playgroud)

如何理解呢?

python django

2
推荐指数
1
解决办法
106
查看次数

AttributeError:类型对象“DirectView”没有属性“as_view”

这是我的views.py代码

class DirectView(mixins.CreateModelMixin):
    serializer_class=DirectSerializer
    def perform_create(self, serializer):
        serializer.save(user=self.request.user)
    def post(self,request,*args,**kwargs):
        return self.create(request,*args,**kwargs)
Run Code Online (Sandbox Code Playgroud)

和我的 urls.py

path('direct/',DirectView.as_view(),name='direct'),
Run Code Online (Sandbox Code Playgroud)

但每当我尝试运行服务器时,我都会收到错误

AttributeError: type object 'DirectView' has no attribute 'as_view'
Run Code Online (Sandbox Code Playgroud)

我不明白问题是什么?

python django django-rest-framework

1
推荐指数
1
解决办法
1792
查看次数

Java接口和Python Mixin之间的区别?

我已经阅读Python-Mixin并了解到它为类增加了一些功能(方法)。同样,Java-Interfaces还提供类的方法。

我可以看到的唯一区别是它们Java-interfaces是抽象方法并Python-Mixin带有实现。

还有其他区别吗?

python java interface mixins

0
推荐指数
1
解决办法
363
查看次数

Python继承 - 多个超类

这是一种创建一个继承自10个以上类的类的pythonic方法吗?或许我应该考虑一种不同的方法?

python oop inheritance

0
推荐指数
1
解决办法
89
查看次数