我现在很清楚 mixin 和继承通常被认为是不好的,组合是要走的路,这来自:
https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750
https://facebook.github.io/react/blog/2016/07/13/mixins-thinked-harmful.html
现在,当您发现两个专用于不同事物的组件并且您想要一个是两种行为混合的结果的组件时,该怎么办?例如,我想要一个 textarea,当文本超出初始行时,它会自动增长,并允许在里面提及(又名。react-mentions与混合react-textarea-autosize)
我没有django.contrib.auth在INSTALLED_APPS,我不想因为我使用一个自定义的用户模型做出来,我不需要没有内置的User,Group和Permission模型.
我希望这可以在Django 1.9中使用,因为文档在https://docs.djangoproject.com/en/1.9/releases/1.9/中的django.contrib.auth条款中说明:
AbstractBaseUser而BaseUserManager被转移到一个新的django.contrib.auth.base_user模块,使它们可以在不包括进口django.contrib.auth的INSTALLED_APPS(这样做成长于旧版本弃用警告,并在Django 1.9不再支持).
但是,截至目前,我无法在django.contrib.auth不引发错误的情况下导入任何内容.不能导入中间件或表单.我必须要么添加django.contrib.auth到INSTALLED_APPS或者不使用该模块的任何东西.
每当django.contrib.auth间接导入模型时,我都会得到以下经典错误:whatever_model_was_indirectly_imported不声明显式app_label而且不在应用程序中INSTALLED_APPS.
编辑:包括回溯的最后部分:
...
File "/usr/lib/python2.7/site-packages/django/contrib/auth/middleware.py", line 3, in <module>
from django.contrib.auth.backends import RemoteUserBackend
File "/usr/lib/python2.7/site-packages/django/contrib/auth/backends.py", line 4, in <module>
from django.contrib.auth.models import Permission
File "/usr/lib/python2.7/site-packages/django/contrib/auth/models.py", line 38, in <module>
class Permission(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 102, in …Run Code Online (Sandbox Code Playgroud)