小编Phi*_*hil的帖子

在django管理员索引页面中定义自定义app_list

我想在django的管理索引页面中定义一个自定义应用程序列表,因为我希望以特定顺序显示应用程序,而不是默认的字母顺序.拖网浏览各种SO帖子似乎还不可能在任何明显的地方声明所需的应用程序顺序(例如admin.py,models.py).

现在,我可以看到django admin的index.html文件包含以下语句:

{% for app in app_list %}
   # do stuff with the app object
Run Code Online (Sandbox Code Playgroud)

所以我想改变它以使用一个名为my_app_list的自定义列表对象.在python中,我将按以下方式执行此操作:

from django.db.models import get_app
my_app_list = [get_app('myapp1'), get_app('myapp2'), ..., get_app('django.contrib.auth')]
for app in my_app_list
   ...
Run Code Online (Sandbox Code Playgroud)

那么我的问题是,如何将上面前两行的等价物编码到我的index.html文件的本地副本中?

或者,或者,我应该插入哪些python源文件,以便变量my_app_list在index.html中可用.

提前致谢.

菲尔

django django-admin

15
推荐指数
1
解决办法
1万
查看次数

在numpy掩码数组上执行乘法时出现溢出警告

我有一个应用程序正在从使用默认netcdf填充值(即9.96920996839e + 36)的netcdf文件中读取32位浮点数据。在应用程序的特定位置,对从输入数据创建的float32类型的掩码数组执行基本缩放(乘法)操作,因此:

x = marr * scale   # or, equivalently, x = ma.multiply(marr,scale)
Run Code Online (Sandbox Code Playgroud)

该操作将引发“乘法时遇到溢出”警告,这可能是因为填充值和小数位的乘积超过了32位浮点数的最大值。已知掩码数组中的其他值很小。然后的问题是,为什么numpy甚至为输入数组中的蒙版元素计算乘积?当然应该忽略这些,对吗?

碰巧的是,警告可以被忽略,因为输出数组中的相应值仍被标记为已屏蔽。但是,知道这是numpy还是“按设计工作”中的错误会很有趣。

下面的代码片段说明了这种行为。

import numpy as np
import numpy.ma as ma
arr = [9.96920996839e+36, 1.123, 2.345, 9.96920996839e+36]
marr = ma.masked_values(np.array(arr, dtype='float32'), 9.96920996839e+36)
x = marr * 128.0
Run Code Online (Sandbox Code Playgroud)

可以预料,如果掩码数组的类型为float64,则不会出现溢出警告(尽管如果比例因子足够大,则可能会出现)。同样,如果在float32情况下使用较小的填充值(例如-1.0e20),则警告消失。

从表面上看,当使用较大的填充值(这与32位fp值的最大值非常接近)时,numpy似乎无法识别掩码值。

TIA,
菲尔

numpy

5
推荐指数
1
解决办法
4720
查看次数

标签 统计

django ×1

django-admin ×1

numpy ×1