2016-04-09 3 views
0

Guter Tag, Ich erhalte die folgende Fehlermeldung, beim Versuch, aus einer Datei zu lesen:Wie kann ich den Inhalt von lokalen Textdateien in Django korrekt lesen?

Exception Type: KeyError 
Exception Value:  
'opened' 

Der Fehler wird von der untenen Linie in readfile kommen:

if fileHandler['opened']: 

und dies ist, wie meiner Ansicht nach wie folgt aussieht: aus project.settings text_file aus django.core.files importieren importieren Datei von django.shortcuts machen importieren

def home_view(request): 
    context = {'error': ''} 
    readFile(context) 
    render(request, 'index.html', context) 


def readFile(context): 
    fileHandler = open_file(context, 'r') 

    if fileHandler['opened']: 
     file = File(fileHandler['handler']) 
     read_content(file, context) 

     file.close() 


def open_file(context, mode): 
    try: 
     fileHandler = open(text_file, mode) 
     return {'open': True, 'handler': fileHandler} 

    except IOError: 
     context['error'] += 'Unable to open file.\n' 
    except: 
     context['error'] += 'Unexpected exception in openFile method.\n' 
     return {'opened':False, 'handler': None} 


def read_content(file, context): 
    context['fileContent'] = '' 
    for sentence in file.chunks(10): 
     context['fileContent'] += sentence 

und in mir Einstellungen:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
text_file = os.path.join(BASE_DIR, 'my_file.txt') 

wirklich appreaciateany Hilfe.

+0

Sie haben den Schlüssel als 'offen' festgelegt, wie in der Funktion 'open_file' angezeigt, und Sie greifen auf einen 'geöffneten' Schlüssel zu, der nicht existiert. – Abhinav

+0

@AbhinavI danke hat es nicht bemerkt –

Antwort

0

Ich sehe die Deklaration der Funktion readFile in der dritten Zeile der Ansicht nicht!

def home_view(request): 
    context = {'error': ''} 
    readFile(context) # HERE! 
    render(request, 'index.html', context) 

Vielleicht ist Ihr Problem hier?

+0

Entschuldigung Tippfehler, ich habe es ersetzt –

Verwandte Themen