2017-10-21 119 views
0

Dans mon fichier views.py, il y a des fonctions telles que suit:Django comment accéder au fichier téléchargé dans les vues?

def upload_file(request): 
    """ 
    upload a file and store it into the database, 
    and the file will be predicted in another view immediately. 
    """ 

def predict(request): 
    """ 
    make prediction of the file uploaded in the 'upload_file' function. 
    """ 

Comment accéder au fichier qui téléchargé en fonction upload_file dans la fonction prédire? Voici ma pensée: 1. lire la dernière rangée dans la base de données, mais cela semble un peu idiot. 2. utiliser un système de cache et extraire le fichier du cache?

Existe-t-il une solution utile à ce problème? S'il vous plaît donnez-moi des conseils ou d'autres ressources.

Merci pour l'aide de qui que ce soit.

+0

Ce sont des vues différentes? Donc ils s'appellent indépendamment les uns des autres, n'est-ce pas? Dans ce cas, vous avez besoin d'une référence ('pk') à l'image téléchargée pour être passée dans la vue' predict' (c'est-à-dire via l'URL ou les paramètres de la requête) – dirkgroten

Répondre

0

Comme il est décrit here, vous pouvez l'url acces stockage comme suit:

Class MyModel(models.Model): 
     photo = models.ImageField() 

    model = MyModel.objects.get(pk=1) #   for instance 

    model.photo.url 
    >>> 'https://media.example.com/mymodels/example_image.jpg'