我在这里要做的是将变量result
传递给一个模板。我的问题是我需要将变量path
作为参数传递给tumor_classification()
函数,以获得result
的值。'path'的值是从save()
函数获得的,因为我重写了它。我试图使变量path
为全局变量,但它不起作用(“path”仍为null)。我该怎么做?以下代码显示了我的views.py
文件:
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views.generic import FormView, DetailView, ListView
from django.conf import settings
import os
from .forms import BrainImageForm
from .models import BrainImage
from .brain import *
global result
class BrainImageView(FormView):
template_name = 'brain_image_form.html'
form_class = BrainImageForm
def form_valid(self, form):
brain_image = BrainImage(
image = self.get_form_kwargs().get('files')['image']
)
brain_image.save()
global path
path = brain_image.save() # this is the variable I need to pass to the function tumor_classification() below
self.id = brain_image.id
return HttpResponseRedirect(self.get_success_url())
def get_success_url(self):
return reverse('brain_image',kwargs = {'pk': self.id})
class BrainImageIndexView(ListView):
model = BrainImage
template_name = 'brain_image_view.html'
context_object_name = 'images'
def tumor_classification(image_address):
path = settings.MEDIA_ROOT+'/'+image_address
img = selectImage(path)
segmented = segmentation(img)
replaced = replace(img, segmented)
extractFeatures(replaced)
classif = createSVMClassifier(settings.BASE_DIR+'/main/datasets/input_features.csv', settings.BASE_DIR+'/main/datasets/benign_input_features.csv')
result = classify(classif, "tumor_features.csv")
return result
result = tumor_classification(path) # this is where I need to pass the 'path' variable
queryset = BrainImage.objects.all()
谢谢你!在
如果
path
是短时间内所需的内容,则可以将其存储在会话中。请参阅sessions manual以获取参考。会话是与当前登录用户相关联的内容。在但是,如果用户将多次调用创建
BrainImage
的视图,则session中的路径值将被覆盖(global也是如此)处理这个问题的最佳方法是将
path
存储在数据库中,例如在您的BrainImage
中。这样,您可以在其他视图中以线程安全、多用户安全以及更重要的持久性方式检索它。在通常,这是通过重写视图中的get_context_data方法来完成的,因此:
但是你想要的似乎有些不同,你应该在你的模型定义中移动
^{pr2}$def tumor_classification(image_address):
,改变签名以从对象本身获取图像地址,而不是作为参数,然后在模板中执行类似的操作模型中的方法示例:
相关问题 更多 >
编程相关推荐