小编Wil*_*ard的帖子

Django - 使用自定义用户模型将用户添加到用户组时遇到问题

以前,我一直在使用默认的 Django 用户模型,并且在用户注册时将用户添加到特定的用户组,在 view.py 中使用以下代码没有问题:

user.save() user.groups.add(Group.objects.get(name='customers'))

但是,我现在已更改为自定义用户模型,因此我可以删除注册表中的“用户名”字段,现在此代码不再有效。当新用户尝试注册时会抛出此错误消息:

“用户”对象没有属性“组”

我已经搜索过但找不到这个问题的答案。我对使用 Django 进行后端工作非常陌生,因此请在您的答案中非常具有描述性(即我需要将您建议的代码放在哪里,models.py/views.py/forms.py 等)。任何帮助将非常感激!

我的模型.py:

from django.db import models
from django.contrib.auth.models import (
    AbstractBaseUser, BaseUserManager
)

class UserManager(BaseUserManager):
    def create_user(self, email, first_name, last_name, password=None, is_staff=False, is_admin=False):
        if not email:
            raise ValueError("Users must enter an email")

        if not password:
            raise ValueError("Users must enter a password")

        if not first_name:
            raise ValueError("Users must enter their first name")

        if not last_name:
            raise ValueError("Users must enter their last name")

        user_obj = self.model(
            email = self.normalize_email(email),
            first_name …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-forms django-views

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

尝试“pip install mysqlclient”时出现“OSError: mysql_config not found” - Django

我对 Django 和一般的 Web 开发比较陌生。

我在尝试着

pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)

在我的

virtualenv -p python3
Run Code Online (Sandbox Code Playgroud)

将 Django 2.0 连接到 mySQL。但是,我收到此错误:

Collecting mysqlclient
Using cached mysqlclient-1.3.12.tar.gz
Complete output from command python setup.py egg_info:
/bin/sh: mysql_config: command not found
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup.py", line 17, in <module>
    metadata, options = get_config()
  File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup_posix.py", line 44, in get_config
    libs = mysql_config("libs_r")
  File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup_posix.py", line 26, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
OSError: mysql_config not …
Run Code Online (Sandbox Code Playgroud)

pip virtualenv mysql-python macos-high-sierra

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