繁体   English   中英

用户导航期间如何在Django中保存自定义用户模型

[英]How to save custom User model in Django during user's navigation

大家好,我在Django 2.0中有一个自定义用户模型,其中包含各种用户数据。

class User(models.Model):
    username = = models.CharField(max_length=30)
    _isLogged = False
    # ... other custom data

一旦在登录页面上登录了用户( _isLogged = True )〜,我如何保存该对象,以便可以在另一个页面(例如home)中验证该用户是否已经登录?

注意,我尝试将所有对象存储在会话变量中,但是它不可序列化。

非常感谢。

您可以通过调用is_authenticated函数来检查用户是否已登录:

if request.user.is_authenticated():
    # something

在类似的文章中已经对此进行了很好的描述: 如何检查用户是否已登录(如何正确使用user.is_authenticated)?

如果1)您使用的是默认Django用户,2)扩展了默认的User模型,或3)您正确配置了自己的模型,则不需要任何特殊字段(例如_isLogged )。

有关详细信息,请参阅文档

编辑:“我应该如何”适当地“配置我自己的模型?

在下面的文章中对此进行了很好的描述。 简而言之:

  1. 您声明您的User模型子类化AbstractUser类:

     from django.contrib.auth.models import AbstractUser class User(AbstractUser): pass 
  2. 您可以通过在Django设置中设置以下值来覆盖默认的用户模型:

     AUTH_USER_MODEL = 'myapp.MyUser' 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM