簡體   English   中英

Django Firebase 檢查用戶是否登錄

[英]Django Firebase check if user is logged in

我正在嘗試通過請求 home.html 文件中的session_uid來檢查用戶是否已登錄到 Django 中的 firebase。 這似乎不起作用。 如何檢查 firebase 用戶是否已登錄?

def login(request):
if request.method == 'POST':
    form = UserLoginForm(request.POST)
    if form.is_valid():
        # form.save()
        email = form.cleaned_data.get('email')
        password = form.cleaned_data.get('password')

        user = auth.sign_in_with_email_and_password(email, password)

        session_id = user['idToken']
        request.session['uid'] = str(session_id)

        messages.success(request, f'Account created for {email}!')
        return redirect(request, 'blog-home')
else:
    form = UserLoginForm()
return render(request, 'users/login.html', {'form': form, 'title': 'Login'})  

主頁.html

{% extends "home/base.html" %} -->
{% block content %}
{% if request.session.session_id %}
{% for post in posts %}
    <article class="media content-section">
      <div class="media-body">
        <div class="article-metadata">
          <a class="mr-2" href="#">{{ post.author }}</a>
          <small class="text-muted">{{ post.date_posted }}</small>
        </div>
        <h2><a class="article-title" href="#">{{ post.title }}</a></h2>
        <p class="article-content">{{ post.content }}</p>
      </div>
    </article>
{% endfor %}
{% else %}

    <h2>You need to login</h2>

{% endif %}
{% endblock content %}

您在視圖中執行以下操作

session_id = user['idToken']
request.session['uid'] = str(session_id)

但是在模板中訪問像request.session.session_id 你應該做request.session.uid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM