def details(request, project_id): project_id = int(project_id) errors = list() project = None reg_projects = RegisteredProjects() # Get project try: project = reg_projects.find_project(project_id) except BrainyProjectError as project_error: errors.append({ 'msg': str(), 'project': project, }) # Get project's tasks if project is not None: try: task_tree = reg_projects.get_task_tree(project['path']) project = { 'name': project['name'], 'path': project['path'], 'task_tree': task_tree, } except BrainyProjectError as project_error: # Report error endowed with the project. errors.append({ 'msg': str(project_error), 'project': project, }) context = { 'error_list': errors, 'project': project, } return render(request, 'projects/details.tpl', context)