标签: django-users

在django中为用户添加图像/头像字段

我希望我网站中的每个用户都能在他的个人资料中看到一张图片.我不需要任何缩略图或类似的东西,只需每个用户的图片.越简单越好.问题是我不知道如何将这种类型的字段插入我的用户配置文件.有什么建议?

django avatar django-users

22
推荐指数
3
解决办法
3万
查看次数

/ admin /中的FieldError - 为UserProfile指定的未知字段(added_on)

我在Django中使用自定义用户模型.该模型工作正常,并能够创建用户.但是当我尝试访问管理页面时,它会抛出错误

FieldError at /admin/
Unknown field(s) (added_on) specified for UserProfile
Run Code Online (Sandbox Code Playgroud)

UserProfile有一个added_on属性.我想不出有什么理由说明这一点.如果我added_on从admin.py文件中删除该属性,则管理面板可以正常工作.

这是我的models.py

from django.db import models
from django.contrib.auth.models import User, BaseUserManager, AbstractBaseUser
from django.conf import settings

class UserProfileManager(BaseUserManager):
    def create_user(self, email, username, name, password=None):
        if not email:
            raise ValueError('Users must have an email address')

        user = self.model(
            username=username,
            name=name,
            email=self.normalize_email(email),
        )

        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_superuser(self, email, username, name, password):
        user = self.create_user(email=email,
                password=password,
                username=username,
                name=name
            )
        user.is_admin = True
        user.save(using=self._db)
        return user …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-admin django-users

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

在授予"用户更改"权限时,如何防止Django管理员中的权限升级?

我有一个拥有大量客户群的django网站.我想让我们的客户服务部门能够改变正常的用户帐户,做更改密码,电子邮件地址等等.但是,如果我授予某人内置auth | user | Can change user权限,他们就可以is_superuser在任何人身上设置标志.帐户,包括他们自己.(!!!)

为非超级用户员工删除此选项的最佳方法是什么?我确定它涉及子类化django.contrib.auth.forms.UserChangeForm并将其挂钩到我已经自定义的UserAdmin对象......不知何故.但我找不到任何关于如何做到这一点的文档,我还不太了解内部情况.

django permissions django-admin django-users

21
推荐指数
2
解决办法
3666
查看次数

什么是模型元中的"可交换"?

看起来很难的django auth模型代码,我遇到了这段代码:

class User(AbstractUser):
    class Meta(AbstractUser.Meta):
        swappable = 'AUTH_USER_MODEL'
Run Code Online (Sandbox Code Playgroud)

很明显它与AUTH_USER_MODELsettings.py中的新设置有关,但它是如何实际工作的,通过什么python"技巧"?

在其他情况下可以使用它?

django django-models django-settings django-users

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

如何在管理界面中内联编辑django用户配置文件?

如果你想在Django中存储关于用户(django.contrib.auth.models.User)的额外信息,你可以使用漂亮的AUTH_PROFILE_MODULE来插入"profile"模型.然后每个用户获取一个配置文件 这一切都在这里描述:

现在,假设我已经使用名为UserProfile的模型创建了一个名为accounts的应用程序,并将其注册为我的用户的配置文件模型.如何在管理界面中内联编辑配置文件以编辑用户(反之亦然)?

django django-admin django-users

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

Django 1.5自定义用户模型错误."经理无法使用;用户已被换掉"

我按照dev doc中的描述扩展了django用户模型.我不想保留大部分原始用户模型功能,因此我扩展了AbstractUser类.我在settings.py中定义了:

AUTH_USER_MODEL = 'myapp.CustomUser'
Run Code Online (Sandbox Code Playgroud)

我的用户类:

class CustomUser(AbstractUser):
  custom_field = models.ForeignKey('OtherModel')
  objects = UserManager()
Run Code Online (Sandbox Code Playgroud)

一切似乎工作正常,但当我尝试由管理网站管理:

admin.site.register(CustomUser, UserAdmin)
Run Code Online (Sandbox Code Playgroud)

我在管理员CustomUser创建页面上获得此错误(在验证密码确认表单后):

AttributeError: Manager isn't available; User has been swapped for 'myapp.CustomUser'
Run Code Online (Sandbox Code Playgroud)

关键是我需要管理站点管理的这个模型,以便拥有与原始用户模型相同的创建过程(使用密码验证的两步过程).

django django-admin django-users

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

扩展Django中的User对象:用户模型继承还是使用UserProfile?

要使用自定义字段扩展User对象,Django文档建议使用UserProfiles.但是,根据这个问题回答一年左右的问题:

扩展django.contrib.auth.models.User现在也更好 - 自从Django的继承代码重构在模型API中以来.

和诸如物品布局如何与优点延伸,以与自定义字段的用户模型,一起(,而不是通过.get_profile直接从用户对象检索属性()).

所以我想知道在这个问题上是否有任何共识,或者使用其中一个的原因.甚至Django团队目前的想法是什么?

django django-users

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

自定义django-user对象没有属性'has_module_perms'

我通过电子邮件登录的自定义用户模型:

class MyUser(AbstractBaseUser):
    id = models.AutoField(primary_key=True)  # AutoField?
    is_superuser = models.IntegerField(default=False)
    username = models.CharField(unique=True,max_length=30)
    first_name = models.CharField(max_length=30, default='')
    last_name = models.CharField(max_length=30, default='')
    email = models.EmailField(unique=True,max_length=75)
    is_staff = models.IntegerField(default=False)
    is_active = models.IntegerField(default=False)
    date_joined = models.DateTimeField(default=None)

    # Use default usermanager
    objects = UserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

    class Meta:
        db_table = 'auth_user'
Run Code Online (Sandbox Code Playgroud)

为此,我能够成功创建一个超级用户.但是,当我尝试使用电子邮件和密码登录时,我收到此错误:

'MyUser' object has no attribute 'has_module_perms'
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

django django-authentication django-users

16
推荐指数
3
解决办法
9380
查看次数

在Django中使用用户角色

我有一些问题在一个项目中,我需要与三个(可能更多)类型的用户一起工作,这些用户有不同的角色:医生患者管理员

我一直在考虑使用Django Model Users并扩展它创建一个userprofile模型......但是我忽略了如何管理不同的角色,因为userprofile模型将包含用户模型的字段,尽管我不知道如何解决角色主题.

1用户有多个用户配置文件?我不知道

或者我可能应该创建一个角色模型/表,在其中我指定角色类型并创建与用户模型的关系.这是一个很好的可能性.

另一种可能性(作为下面的评论)是检查Django权限系统,我可以在其中创建用户组,并为这些组分配权限,虽然在这里我只能编辑,创建和删除模型吗?

我对如何解决这个问题感到困惑

搜索我找到了这个应用程序. https://github.com/dabapps/django-user-roles

如果有人可以指导我,我将非常感谢最诚挚的问候

python django user-roles django-users multiple-users

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

Checking if a Django user has a password set

I setup if statement to see if the current user has a password set. For some reason it just won't work. I have tried:

{% if not user.password %}
{% if user.password == None %}
{% if user.password is None %}
Run Code Online (Sandbox Code Playgroud)

I have 2 user accounts (different browsers open), one with a password in one, and one without in the other. When I use the statements above I get the same showing in both browsers. What am I doing wrong?

python django django-users

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