没有项目描述

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 Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题