2015-10-16 7 views
0

Моя задача - показать данные папки на странице html. но показывая пустую страницу, пожалуйста, помогите мне, где я делаю ошибку.данные файла, не отображаемые на странице html

view.py

def info(request,id): 
    INFO_DIR = '/home/des-0064/Logs' 
    req_path = os.path.join(INFO_DIR, id) 
    file_content = dict() 
    for root, dirs, files in os.walk(req_path): 
     for file_name in files: 
      full_path = os.path.join(root,file_name) 
      with open(full_path, 'r') as _file: 
       #file_content[file_name] = _file.read() 
       file_content[file_name] = _file.read() 
    print file_content 

    for file_name, content in file_content.iteritems(): 
     print file_name 
     print content 

    return HttpResponse (request, 'info.html') 

ответ

0

Ваш код просто выводит на консоль, вам нужно передать это на ваш шаблон в переменном контексте.

По крайней мере, вы можете передать содержимое после создания json из него.

return HttpResponse(request, 
        'info.html', 
        {'file_contents': json.dumps(file_content.iteritems())}) 

Вы можете использовать file_contents в шаблоне

Я предполагаю, что вы можете увидеть содержимое напечатанных на консоли, а код все работает

+0

unhashable типа: 'DICT' (его дает ошибку) – annonymus

+0

@annonymus - Обновлен, вам нужно jsonify это первый – Sayse

0

Вам необходимо пройти file_content к шаблону html.

return HttpResponse(request, 'info.html', file_contents) 

Передача, как указано выше, позволит вам перебирать все файлы и отображать их содержимое. Код шаблона будет примерно таким.

{% for file, content in file_contents %} 
    Name: {{ file }} 
    Content: {{ content }} 
{% endfor %} 
Смежные вопросы