Tag: django authentication

用户在初始数据夹具

我在我的fixtures/initial_data.json默认创build了一些用户,以便进行一些testing“主题”。 我遇到的问题是密码生成。 我可以在“字段”中设置密码,但不会生成哈希密码: [ { "model": "auth.user", "pk": 1, "fields": { "username": "user1", "password": "password" } } ] 我需要一种方法来生成用户的密码。 我是否必须手动执行此操作,并像Django一样生成像{hash_method}${salt}${hashed_password}这样的string?

Django的AttributeError'用户'对象没有属性'后端'(但…它呢?)

为了在注册用户之后签署用户,我手动设置了user.backend属性。 它通常在我的意见。 在这个例子中,我试图通过AJAX注册用户。 这是引发一个AttributeError。 这是我的代码: def register_async(request): if request.method=='POST': userform=MyUserCreationForm(request.POST) if userform.is_valid(): #username of <30 char is required by Django User model. I'm storing username as a hash of user email user=userform.save(commit=False) user.username=hash(user.email) user.backend='django.contrib.auth.backends.ModelBackend' user.save() auth.login(request,user) user_status=1 user_fname=user.first_name user_data=[{'user_status':user_status, 'user_fname':user_fname}] json_data=json.dumps(user_data) response=HttpResponse() response['Content-Type']="text/javascript" response.write(json_data) return response else: user_data=[{'user_status':"0"}] json_data=json.dumps(user_data) response=HttpResponse() response['Content-Type']="text/javascript" response.write(json_data) return response else: […]

如何在Django中获取当前login用户的用户ID?

如何获取当前login的用户的ID? 在models.py : class Game(models.model): name = models.CharField(max_length=255) owner = models.ForeignKey(User, related_name='game_user', verbose_name='Owner') 在views.py : gta = Game.objects.create(name="gta", owner=?)

将Django auth UserAdmin用于自定义用户模型

从Django.Contrib.Auth文档 : 扩展Django的默认用户如果你对Django的用户模型完全满意,而你只是想添加一些额外的configuration文件信息,你可以简单地django.contrib.auth.models.AbstractUser并添加你的自定义configuration文件字段。 该类提供了默认用户的完整实现作为抽象模型。 说完了。 我创build了如下的新模型: class MyUser(AbstractUser): some_extra_data = models.CharField(max_length=100, blank=True) 这显示在pipe理员几乎像Django的标准User 。 但是,admin中最重要的区别是密码 – (重新)设置字段不存在,而是显示正常的CharField。 我真的必须重写pipe理configuration中的东西来得到这个工作吗? 如果是这样,我该怎么做,有点干的方式(即没有从Django源复制东西…呃…)?

可以django的auth_user.username是varchar(75)? 这怎么可能呢?

在auth_user上运行alter table以使用username变成varchar(75)是否有什么问题? 如果有什么打破了什么? 如果您要将auth_user.username更改为varchar(75) ,那么您需要修改django吗? 这只是一个在源代码中改变30到75的问题吗? username = models.CharField(_('username'), max_length=30, unique=True, help_text=_("Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters")) 还是还有其他的validation,在这个领域将不得不改变或任何其他影响这样做? 请参阅下面的bartek讨论关于做这件事的原因。 编辑 :在几个月后回顾这个。 对于任何人不知道的前提:有些应用程序没有要求或希望使用用户名,他们只使用电子邮件注册和身份validation。 不幸的是,在django auth.contrib中,用户名是必需的。 您可以开始在用户名字段中input电子邮件,但该字段只有30个字符,并且电子邮件在现实世界中可能很长。 可能甚至比75字符在这里build议更长,但75字符容纳最理智的电子邮件地址。 这个问题就是针对这种情况,正如基于电子邮件authentication的应用程序所遇到的那样。

在Django中,如何检查用户是否在某个组中?

我在Django的pipe理站点中创build了一个自定义组。 在我的代码中,我想检查用户是否在这个组中。 我怎么做?

在每个页面上放置一个djangologin表单

如果用户没有login,我希望login表单(来自django.contrib.auth的AuthenticationForm)出现在我网站的每个页面上。当用户login时,他们将被redirect到同一页面。 如果出现错误,错误将显示在与表单相同的页面上。 我想你需要一个上下文处理器来为每个模板提供表单。 但是,那么你还需要每个视图来处理张贴的表单? 这是否意味着您需要创build一些中间件? 我有点失落 有没有一个可以接受的方法呢?

如何在django基于类的视图上使用permission_required装饰器

了解新的CBV如何工作,我有点麻烦。 我的问题是,我需要在所有的意见,并在其中一些特定的权限login。 在基于函数的视图中,我使用@permission_required()和视图中的login_required属性来做到这一点,但我不知道如何在新视图上执行此操作。 django文档中有解释这个的一些部分吗? 我没有find任何东西。 我的代码有什么问题? 我尝试使用@method_decorator,但它回复“ /空/ prueba / _wrapped_view()至less需要1个参数(0给出) ” TypeError “ 这里是代码(GPL): from django.utils.decorators import method_decorator from django.contrib.auth.decorators import login_required, permission_required class ViewSpaceIndex(DetailView): """ Show the index page of a space. Get various extra contexts to get the information for that space. The get_object method searches in the user 'spaces' field if […]

Django:保存模型时填充用户标识

我有一个与被链接到标准Django用户模型的created_by字段的模型。 保存模型时,我需要自动填充当前用户的ID。 我不能在pipe理层做到这一点,因为网站的大部分地方不会使用内置的pipe理员。 任何人都可以build议我应该如何去做呢?

用Django中的自定义字段扩展用户模型

使用自定义字段来扩展用户模型(与Django的身份validation应用程序捆绑在一起)的最佳方式是什么? 我也可能想使用电子邮件作为用户名(用于身份validation的目的)。 我已经看到了一些 方法来做到这一点,但不能决定哪一个是最好的。