2

在 Django 项目中,我有一个 javascript,它将图像的一些坐标发送到 Django 表单。然后用户提交表单,并在应用一些逻辑后将坐标保存到数据库中。大多数时候它运行良好,但有时 javascript(我的访问权限有限)会发送这种数字:55.46353234234234e-14 并且在表单数据中我得到这种变量:u'middle_img_center_y': [u'NaN '] 而不是我通常得到的数字。然后我当然会得到这种类型的值错误:无法将浮点 NaN 转换为整数。我不知道我是否可以捕获该数字并对其进行修改以适应表单的预期,或者我是否可以以不同的方式设置表单以接受这些数字(现在它是一个 forms.FloatField)。谢谢你的帮助。

一些代码:

风景:

if request.method == 'GET':
    form = ImageForm()
else:
    form = ImageForm(request.POST)
    ... doing some cropping here then save

表格:

class ImageForm(forms.ModelForm):

class Meta:
    model = Image

top_img_left = forms.FloatField(widget=forms.HiddenInput)
... then more of the same line but with middle, bottom, center, right...

这是一个字符串。

js代码:

var topZoomData = $('#img-top-remix').smoothZoom('getZoomData');
$('input[name="top_img_left"]').val(topZoomData.scaledX);

更新:

我现在正在尝试使用 toFixed 函数来避免如此大的数字: http ://www.w3schools.com/jsref/jsref_tofixed.asp

var topZoomData = $('#img-top-remix').smoothZoom('getZoomData');
$('input[name="top_img_left"]').val(topZoomData.scaledX).toFixed(3);
4

0 回答 0