我正在尝试为注册到系统中的每个新用户分配一个组。我已经在另一个问题中阅读了有关它的内容,但是我真的不知道在哪里添加必要的代码以使其起作用。
我正在使用Django 2.1.3,并且正在使用allauth(社交登录,但没有什么区别,因为在User表中创建了新实例)记录了用户
答案 0 :(得分:5)
例如,您可以使用@post_save
信号,每次创建User
时,都会将给定的组添加到User
的组中。通常,信号驻留在handlers.py
的{{1}}目录中名为signals
的文件中,因此您可能应该创建或修改以黑体字列出的文件:
app
app/
signals/
__init__.py
handlers.py
__init__.py
apps.py
...
其中# app/signals/handlers.py
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.conf import settings
from django.contrib.auth.models import Group
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def save_profile(sender, instance, created, **kwargs):
if created:
g1 = Group.objects.get(name='group_name')
instance.groups.add(g1)
是您要添加的组的名称。
然后应将group_name
模块导入handlers.py
中(如果尚未构造这样的配置,则创建一个模块):
MyAppConfig
并在# app/apps.py
from django.apps import AppConfig
class MyAppConfig(AppConfig):
name = 'app'
verbose_name = "My app"
def ready(self):
import app.signals.handlers
的{{1}}中注册MyAppConfig
:
__init__.py
答案 1 :(得分:3)
如果对于任何新的10000000 = first core
01000000 = second core
11000000 = first and second core
00100000 = third core
10100000 = first and third core
11100000 = first second and third core
实例都应该发生这种情况,则可以将处理程序连接到function Set-Affinity([string]$Username,[int[]]$core){
[int]$affinty = 0
$core | %{ $affinty += [math]::pow(2,$_)}
get-process -IncludeUserName | ?{$_.UserName -eq $Username} | %{
$_.ProcessorAffinity = $affinty
}
}
Set-Affinity -username "TESTDOMAIN\TESTUSER" -core 0,1,2,3
信号:
User
将此代码包含在您的应用中,并确保已按照规定将其导入,例如here。