代码之家  ›  专栏  ›  技术社区  ›  Mickey Cheong

扩展Django Admin登录(用户名、密码、站点)

  •  0
  • Mickey Cheong  · 技术社区  · 16 年前

    我正在尝试扩展Django管理员登录。大多数资源都指向在登录后扩展视图。

    我想在登录条件中添加站点。

    因此

    • 用户名
    • 暗语

    会的

    • 用户名
    • 暗语
    • 地点

    这样,站点将检查用户是否作为管理员属于该站点,如果是,则只加载属于该站点的数据。

    谢谢

    干杯 米奇

    2 回复  |  直到 16 年前
        1
  •  0
  •   craphunter    15 年前

    我不确定,因为我是django的新手。

    我将从project文件夹中的原始django代码复制管理代码。然后我会像你想要的那样更改它,并将其放入已安装的应用程序中。

    我希望我能帮助你。正如我所说,我是django的新手。

    垃圾猎人

        2
  •  0
  •   Simon Whitaker    15 年前

    您使用 user profiles 为了这个。

    下面是一个基本示例(此代码将出现在应用程序的 models.py ):

    from django.contrib.auth.models import User
    from django.db import models
    from django.db.models.signals import post_save
    
    # Define a signal handler to be called after saving
    # a User object
    def user_save_handler(sender, **kwargs):
        # If the save was creating a new user as opposed
        # to updating an existing one, then create a 
        # UserProfile object and associate it with the User
        if kwargs['created']:
            # kwargs['instance'] is the User object we just
            # created
            UserProfile(user=kwargs['instance']).save()
    
    # Hook the signal handler up to the User model's post_save
    # signal
    post_save.connect(user_save_handler, sender=User)
    
    # Define your UserProfile class as usual. 
    class UserProfile(models.Model):
        # user is a one-to-one reference to the associated
        # User object. You need this field
        user = models.OneToOneField(User)
    
        # Now define any other fields you care about
        birthday = models.DateField()