如果登录,Django 在模板中显示代码

Django Show Code in Template if Logged In

在 Laravel Blade 模板中,我可以这样做以仅在用户登录时显示代码:

@auth
<div>Show code only if logged in.</div>
@endauth

Django 有模板标签或类似的东西吗?例如:

{% auth %}
<div>Show code only if logged in.</div>
{% endauth %}

在 Django 模板中,您应该检查 {% if user.is_authenticated %}。有关更多信息,请参阅此

我会回答我自己的问题,因为我找到了更多我正在寻找的东西。在 Django 中,它们被称为“装饰器”,例如 @login_required.

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):
    ...

来源:https://docs.djangoproject.com/en/3.2/topics/auth/default/#the-login-required-decorator

添加:2021 年 2 月 11 日。