Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 加上一句「;“状态灯”;致Django管理员_Python_Django_Django Admin_Django Admin Tools - Fatal编程技术网

Python 加上一句「;“状态灯”;致Django管理员

Python 加上一句「;“状态灯”;致Django管理员,python,django,django-admin,django-admin-tools,Python,Django,Django Admin,Django Admin Tools,我正在运行一组信息亭,每个信息亭都显示我的Django应用程序的内容。每个信息亭每分钟都会ping一个url,比如myurl.com/location=downtown,以查看是否有任何更新 我的models.py看起来像这样。每次对模型执行ping操作时,最后更新的_都会更新 class Location(models.Model): name = models.CharField(max_length=20) last_update = models.DateTimeFiel

我正在运行一组信息亭,每个信息亭都显示我的Django应用程序的内容。每个信息亭每分钟都会ping一个url,比如
myurl.com/location=downtown
,以查看是否有任何更新

我的models.py看起来像这样。每次对模型执行ping操作时,最后更新的_都会更新

class Location(models.Model):
    name = models.CharField(max_length=20)
    last_update = models.DateTimeField()
不幸的是,每隔一段时间,信息亭中的浏览器就会崩溃。我想做的是在我登录后,在管理界面的前面添加一个小绿灯或红灯,以指示其中一个位置更新后是否已超过5分钟


这是让应用程序心跳的最佳方式吗?如何修改管理界面以显示状态灯以查看信息亭是否正常?

我在Django工作已经有一段时间了,因此我无法帮助您编写代码。但你的问题似乎在Django应该很容易解决

管理界面有点神奇,我不认为你应该尝试破解它来添加状态指示灯。(有可能自从我看了Django之后,他们已经改变了一些事情,也许现在已经不那么神奇了?)

但是,创建一个显示状态的新页面并使该页面仅对管理员可用应该是非常容易的。您可以获得一个Firefox或Chrome插件,自动刷新页面,这将导致Django重新运行查询并重新构建页面。然后,在管理员界面中执行管理员操作时,只需打开并刷新该页面即可

  • ,在信息亭更新时显示灯光

  • ,即将
    django/contrib/admin/templates/admin/base\u site.html
    复制到
    your\u project/templates/admin/base\u site.html

  • 在已复制的管理基础模板中添加模板标签


  • 这是一些工作,但希望您需要的所有内容都有文档记录。

    哦,在重读问题之前,我键入了以下内容。因此,如果您希望在列表中显示
    位置的自定义列,请执行以下操作。否则,请看@jpic的答案

    --

    是的,您可以使用ModelAdmin上的方法定义自定义管理列,如下所示:

    导入日期时间
    从django.contrib导入管理
    从my_app.models导入位置
    类位置admin(admin.ModelAdmin):
    列表显示=('name','slug','custom列',)
    #在此处定义行x列值
    def自定义_列(自身、obj):
    如果obj.last_已更新

    自定义方法也可以是模型本身的属性。有关详细信息,请参阅。

    页面。如果用户当前正在阅读表单中编辑模型的列表,则自动刷新可能会很烦人……我建议仅在特定页面上使用自己的URL自动刷新,该页面仅显示状态信息。只读页面,不属于管理界面的一部分。使用新版Django导入
    html
    Django.utils
    ,然后使用
    return html.format\u html(“%retval”)
    显示html