Как получить доступ к объекту запроса django в react?

У меня есть несколько приложений в моем проекте Django, но для одного приложения я хотел бы использовать react, поэтому я создал два приложения, одно для apis, а другое для frontend. Я использовал webpack для объединения django и react. Теперь я хочу получить доступ к request.user и user.is_authenticated в моих компонентах. Как я могу получить доступ к ним без вызова apis, поскольку я не использую аутентификацию на основе токенов, поэтому я не могу вызывать API.

views.py

def index(request):
    return render(request,'index.html')

urls.py

urlpatterns = [
    re_path(r'^(?:.*)/?$',index),
]

Я хотел бы использовать is_authenticated в моей боковой панели везде.

Вы можете просто передать запрос user и is_authenticated в контекст представления index и получить доступ к нему в своих компонентах React через объект window.

В вашем файле views.py:

def index(request):
    context = {
        'user': request.user,
        'is_authenticated': request.user.is_authenticated,
    }
    return render(request, 'index.html', context)

В вашем файле index.html:

<script>
  window.user = {{ user|safe }}
  window.is_authenticated = {{ is_authenticated|safe }}
</script>
Вернуться на верх