@tetafro

Как организовать авторизацию в Django с несколькими приложениями?

Есть проект с двумя приложениями - для выдачи страниц (просмотр в браузере) и для api (мобильное приложение). Для обоих должна использоваться одна и та же модель пользователей. Как это (идеологически) правильно сделать? Заводить отдельное приложение для пользователей? Но что в него вставлять кроме собственно модели?
Знаю, что можно просто добавить пользователей в модель одного из первых двух приложений, а во втором просто импортировать, но кажется, что это как-то некрасиво - всё-таки приложения равноправные, а модель будет в одном из них.
  • Вопрос задан
  • 301 просмотр
Решения вопроса 1
sim3x
@sim3x
#myuserapp/models.py
class MyUser(AbstractUser):
....


#app1/models.py
from myuserapp.models import MyUser

class MyThingInApp1(models.Model):
     user = models.ForeignKey(MyUser)
....


#app2/models.py

from myuserapp.models import MyUser

class MyThingInApp2(models.Model):
     user = models.ForeignKey(MyUser)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
vechnoe
@vechnoe
Tornado, Django, Postgres, Asyncio, Clojure
Все просто. Есть слой данных это Ваша модель. Есть слой представления. В вашем случае будет представление из классических страниц (которое отобразят ваши вьюшки ) и представление в виде json-данных которые отдадут контроллеры RESTFramework (это просто расширение для Джанго, для rest). И вьюшки Джанго и контроллеры RESTFramework будут обращаться к одной модели User.
Ответ написан
zelsky
@zelsky
REST full API если правльно понял вопрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы