msc*_*msc 15
如果要在模板标记中访问当前用户,则必须将其作为模板中的参数传递,如下所示:
{% my_template_tag user %}
Run Code Online (Sandbox Code Playgroud)
然后确保您的模板标记接受此额外参数.查看有关此主题的文档.您还应该查看简单标签.
dav*_*ode 12
用户始终附加到请求,您可以在模板中执行以下操作:
{% if user.is_authenticated %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
您不必指定"请求"来访问其内容
更新:
注意:is_authenticated()始终返回True的登录用户(User对象),但回报False为AnonymousUser(guest用户).在这里阅读:https://docs.djangoproject.com/en/1.7/ref/contrib/auth/
这个问题已经在这里回答:
{% if user.is_authenticated %}
<p> Welcome '{{ user.username }}'</p>
{% else %}
<a href="{% url django.contrib.auth.login %}">Login</a>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
并确保在 settings.py 中安装了请求模板上下文处理器:
TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.request',
...
)
Run Code Online (Sandbox Code Playgroud)
笔记:
request.user.get_username()中的意见和user.get_username模板。优先于直接引用用户名属性。
来源来源:https : //docs.djangoproject.com/en/dev/topics/auth/default/#authentication-data-in-templates
| 归档时间: |
|
| 查看次数: |
16416 次 |
| 最近记录: |