2014-12-30 4 views
2

Начав изучать Django, не уверен, как бороться с несколькими пользователями и типами пользователей. То, что я хотел бы сделать, это иметь страницу с подписью, в которой могут регистрироваться пользователи типов A, B или C (или новые пользователи могут регистрироваться как тип A или B), и в зависимости от их типа они представлены другим сайтом. Кроме того, пользователи типов A и B могут быть фактически организованы группами по своему типу и по типам. Таким образом, B1 и B2 могут быть назначены только A1 или группе GA, которая содержит элементы {A2, A1, A3}.несколько пользователей и Django

Основная цель - создать сайт, на котором люди могут размещать вопросы конкретным экспертам или широкой общественности. Когда эксперты войдут в систему, они будут представлены только пользователям, назначенным им, и если они не знают ответа, они могут связаться с другими экспертами или передать вопрос широкой группе экспертов GE = {E1, E3, E6 }.

Возможно, для этого есть инструмент, и я совершенно не обращаю внимания на него. На данный момент мы собираемся написать это с нуля, и Django показался хорошим инструментом для использования.

Любые предложения полезны.

ответ

1

Звучит как ваша задача! Первый шаг - использовать Custom User Model, который будет использовать встроенную модель пользователя django и позволит вам гибко расширять ее. Я бы предложил продлить от AbstractUser.

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

Ваше объяснение того, что вы пытаетесь сделать после этого в логике представления, немного запутанно, поэтому я собираюсь дать вам понять, что часть, но создание пользовательской модели должно заставить вас идти вправо направление.

1

Мне кажется, что вы строите нечто вроде системы управления задачами. Там, где вопросы подобны задачам, а эксперты подобны задачам задач.

Существует два подхода.

ПОДХОД 1 - использовать систему аутентификации Джанго

  1. Предположим, что вы уже знаете how to create users, authenticate them and log them in.

  2. Создание групп пользователей и назначать права доступа для каждой группы (Вы можете либо сделать это через Джанго администратора или through code)

  3. В views.py, output different contents based on the permission что Вошедший в систему пользователь.

ПОДХОД 2 - обычай построить его

  1. создать модель для пользовательского типа и модели для пользователя (вы можете использовать модель пользователя по умолчанию или extend it)

  2. Назначьте каждый вопрос конкретному типу пользователя.

  3. В views.py определите, какие вопросы будут отображаться на основе пользовательского типа зарегистрированного пользователя.

ПОДХОД 2 рекомендуется, поскольку он более гибкий и масштабируемый, учитывая, что в будущем вы расширите свою программу с большим количеством функций.

Я думаю, что у вас должны быть основные идеи, чтобы начать с него. Удачи.

Смежные вопросы