Disclaimer: Title may not be the best way to describe what I am about to ask. If you have a better title in mind, please put it instead of mine
Я работаю над базой данных scope
, которая позволит мне узнать, какой пользователь имеет доступ к какому-либо ресурсу. Проще говоря:
admin
super-foo
manager-foo-1
user-1
user-2
manager-foo-2
user-3
user-4
super-bar
manager-bar-1
user-5
user-6
manager-bar-2
user-7
user-8
admin
имеет доступ ко всем пользователям под ним.
super-foo
имеет доступ ко всем пользователям, кроме него, но не из super-bar
и т.д ... до вашей досягаемости, например user-1
, который не имеет доступа ни к чему, кроме себя
(когда я говорю внизу, я имею в виду иерархически)
(когда я говорю доступ, я имею в виду доступ к данным, пользователям, что угодно)
Каждая запись в моей БД выглядит следующим образом (например, с использованием manager-foo-1
):
id=manager-foo-1 (I have a function that I can call to get everything on the user as the uuid is the hash key of my user DB (because i'm using their usernames here, but the ids are uuids.))
parents_id=['super-foo']
children_id=['user-1', 'user2']
Вот моя БД (я заменил uuid4
именами):
for user_scope in UserScope.scan():
print("User {} has parents {} and childs {}".format(user_scope.id, user_scope.parents_id, user_scope.children_id))
User manager-foo has parents [super-foo] and childs [user-1, user-2]
User admin has parents None and childs [super-foo]
User super-foo has parents [admin] and childs [manager-foo]
User user-1 has parents [manager-foo] and childs None
User user-1 has parents [manager-foo] and childs None
childs
устанавливаются на None
, когда вы достигаете дна, но это не должно иметь значения
Что бы я хотел, чтобы получался красивый дисплей или, по крайней мере, понятный дисплей или эта БД, когда ему присваивается идентификатор. Так что если дано admin
, отобразите EVERYTHING
. Если указано user-1
, отображается только пользователь-1 и т. Д. *
Я использовал немного jinja
шаблонов, но ничего сложного, самое длинное, что у меня получилось, это цикл for
для создания списка пользователей (с использованием макроса)
{% for user in user_list %}
{% from "user_line.html" import user_line %}
{{user_line(user)}}
{% endfor %}
У меня проблемы с тем, чтобы обернуть голову, как это сделать, каким должен быть макет, в каком порядке их отображать и использовать ли макросы? шаблоны?
Заранее спасибо