没有项目描述

django-admin-shell的Python项目详细描述


django管理外壳

https://travis-ci.org/djk2/django-admin-shell.svg?branch=masterRequirements Status

django应用程序可以在django管理站点上的项目环境中执行python代码。 您可以使用类似于python manage shell的方法,而无需重新加载环境。

  • 用毒物测试:
    • Python:2.7,3.4
    • django:1.9、1.10、1.11、2.0-dev
  • 要求:
    • django>;=1.9
  • 在浏览器上测试
    • 好的-火狐50.1.0-ubuntu 14.04
    • 确定-Firefox 31.1-CentOS 6.4
    • 好的-铬53.0-ubuntu 14.04
    • 确定-Microsoft Edge 38-Windows 10
    • 确定-Internet Explorer 11.0-Windows 8.1
    • 确定-Internet Explorer 10.0-Windows 7
    • 确定-Internet Explorer 9.0-Windows 7
    • 错误-Internet Explorer 8.0-Windows 7(Javascripts不工作/控制台工作正常)

屏幕

Django admin shell view

安装

  1. 安装:

    pip install django-admin-shell
    
    or
    
    pip install git+https://github.com/djk2/django-admin-shell.git
    
    or after download zip
    
    pip install django-admin-shell.zip
    
  2. 将django_admin_shell添加到您已安装的应用程序设置中

settings.py

INSTALLED_APPS = [
    ...
    'django_admin_shell',
    ...
]
  1. django_admin_shellurl添加到根url模式(在admin/之上):

urls.py

urlpatterns = [
    url(r'^admin/shell/', include('django_admin_shell.urls')),
    ...
    url(r'^admin/', admin.site.urls),
]

用法

  • shell在url:/admin/shell上可用
  • 在默认设置下,用户必须通过django管理站点的身份验证,并且 用户必须具有超级用户权限,并且调试模式必须设置为true。

注意

确保在项目会话中启用

有关会话以及如何启用会话的详细信息,请阅读此处: https://docs.djangoproject.com/en/dev/topics/http/sessions/

Django项目中的默认会话通常为enable

设置

管理员外壳启用

typebool

defaulttrue

如果shell被启用或禁用。当应用程序被禁用时,则url:/admin/shell return http404 not found

仅限管理员外壳调试模式

typebool

defaulttrue

如果标志设置为true,则shell仅在调试模式下可用。

如果需要调试模式而禁用调试模式,则url:/admin/shell将返回http 403 forbidden

管理员外壳仅适用于超级用户

typebool

defaulttrue

如果标志设置为true,则shell仅对具有超级用户权限的用户可用。

如果需要超级用户且用户没有权限,则url:/admin/shell将返回http 403 forbidden

管理外壳输出尺寸

typeinteger

默认值250

标志决定可以记住多少输出。

管理员外壳会话密钥

typestring

defaultdjango_admin_shell_输出

存储上次执行的历史代码的会话中键的名称。

代码示例

  • 显示django设置:

    from django.conf import settings
    
    for key in dir(settings):
        val = getattr(settings, key, None)
        print(key, "=", val)
    
  • 在操作系统中运行命令并获取输出:

    import os
    
    os.system('date > /tmp/admin_console.tmp')
    os.system('echo ------- >> /tmp/admin_console.tmp')
    os.system('who >> /tmp/admin_console.tmp')
    os.system('echo ------- >> /tmp/admin_console.tmp')
    os.system('ps aux | grep python >> /tmp/admin_console.tmp')
    
    with open('/tmp/admin_console.tmp', 'r') as f:
        print(f.read())
    
  • 运行大python代码(从网站获取python源代码):

    import requests
    
    req = requests.get('http://foo.bar.com/example.py')
    if req.status_code == 200:
        code = req.text
        print(code, '\n------------\n')
        exec(code)
    

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

推荐PyPI第三方库


热门话题
java获取JEditorPane中字符的绝对位置   java Datetime:将时间段拆分为天、小时和分钟   java是使此HashMap更高效的一种方法   java项目reactor:collectList()之后的block()对Flux不起作用。创建()   java在Mac OSX上安装OpenCV   java递归地确定一组数字是否包含两个总和相等的子集   Quad2D曲线上的几何图形Java绘图箭头   java将SSL证书导入Glassfish 4。十、   java Android未找到处理Intent MediaScanner的活动   EclipseJava。安全cert.CertificateParsingException:java。木卫一。IOException:主题密钥,无法创建EC公钥   java我能在O(M log N)时间内完成吗?   java跟踪eclipse中的资源更改也在中。元数据和。项目   java如何完全禁用Android键盘   java返回到上一个活动