从django管理界面以任何用户身份登录,完成后切换回

django-su的Python项目详细描述


从django管理界面以任何用户身份登录,完成后切换回

作者是Adam Charnock,一些伟大的 contributors

https://img.shields.io/pypi/v/django-su.svghttps://img.shields.io/pypi/dm/django-su.svghttps://img.shields.io/github/license/adamcharnock/django-su.svghttps://img.shields.io/travis/adamcharnock/django-su.svghttps://coveralls.io/repos/adamcharnock/django-su/badge.svg?branch=develophttps://landscape.io/github/adamcharnock/django-su/develop/landscape.svg?style=flat

安装

  1. 从github签出django_su,或使用pip:安装

    pip install django-su
    
  2. django_su添加到INSTALLED_APPS中。确保在django.contrib.admin之前放上

    INSTALLED_APPS=(...'django_su',# must be before ``django.contrib.admin``'django.contrib.admin',)
  3. SuBackend添加到AUTHENTICATION_BACKENDS

    AUTHENTICATION_BACKENDS=(...'django_su.backends.SuBackend',)
  4. 更新您的urls.py文件:

    urlpatterns=[url(r'^su/',include('django_su.urls')),...]

应该就是这样!

请参阅example应用程序。此应用程序用于手动测试 这个软件包的功能。这也是一个很好的例子。

django-su需要django 1.5或更高版本。

配置(可选)

您可以在settings.py

中设置各种可选配置选项
# URL to redirect after the login.# Default: "/"SU_LOGIN_REDIRECT_URL="/"# URL to redirect after the logout.# Default: "/"SU_LOGOUT_REDIRECT_URL="/"# A function specifying the permissions a user requires in order# to use the django-su functionality.# Default: NoneSU_LOGIN_CALLBACK="example.utils.su_login_callback"# A function to override the django.contrib.auth.login(request, user)# view, thereby allowing one to set session data, etc.# Default: NoneSU_CUSTOM_LOGIN_ACTION="example.utils.custom_login"

用法

在管理界面中查看用户并查找新的“登录名” 右上角的按钮。

一旦你进入了用户,你可以退出你的网站。 在浏览器中导航到/su/的原始用户。

如何

如何在与其他用户连接时通知超级用户

此选项警告超级用户在使用另一个用户时 最初登录。要激活此选项,请执行:

  1. django_su.context_processors.is_su添加到TEMPLATE_CONTEXT_PROCESSORS

    TEMPLATE_CONTEXT_PROCESSORS=(...'django_su.context_processors.is_su',)
  2. 在您的base.htmlincludesu/is_su.htmlsnippet中:

    {%include"su/is_su.html"%}

如何将django su用于自定义用户模型(auth_user_model)

django su应该使用自定义用户模型正常工作。然而, 您的admin.py文件中的modeladmin需要进行如下调整:

# Within your admin.py filefromdjango.contribimportadminfromdjango.contrib.auth.adminimportUserAdminfrom.importmodels@admin.register(models.CustomUser)classCustomUserAdmin(UserAdmin):# The following two lines are needed:change_form_template="admin/auth/user/change_form.html"change_list_template="admin/auth/user/change_list.html"

这确保django管理员将使用正确的模板自定义 您的自定义用户模型。

学分

这个应用程序是由adam charnock组装的,但主要是基于想法、代码和评论:

django su使用seed打包。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
来自Oozie Java Jobs的电子邮件   泛型Java映射。具有有界通配符的getOrDefault   java如何制作定制的Swing容器?   java断言使用正则表达式重新启动响应体   安卓 java正则表达式查找字符串中的所有空格   java循环语法不起作用   使用spring4@Transactional时,java事务不起作用   java三桨乒乓球命中检测   java Camera 2 Api错误不拍照的错误   java使用ServletContext从war外部读取Hibernate属性   性能如何禁用Java垃圾回收器?   如何通过MySQL触发器执行外部java函数?   使用Ecfbittorent下载torrent时出现java NegativeArraySizeException   java Android arraylist因迭代而崩溃   MyBatis中的java Delete查询没有删除任何内容