调整Django Rest框架模板

Whoisearth

我正在尝试在此处调整代码的登录功能-

{% block userlinks %}
    {% if user.is_authenticated %}
        {% optional_logout request user %}
    {% else %}
        {% optional_login request %}
    {% endif %}
{% endblock %}

我希望它在登录时也能在“注销”之前显示一个值作为“仪表板”,并引用另一个以django表示的URL。

所以在下拉列表中看起来像这样-

USER -
    - dashboard
    - logout

我认为这是在代码中添加一行这样的问题-

{% block userlinks %}
    {% if user.is_authenticated %}
        <a href="#dashboard">Dashboard</a>
        {% optional_logout request user %}
    {% else %}
        {% optional_login request %}
    {% endif %}
{% endblock %}

最终在导航栏中创建了一个单独的值,但是我不想这样做。我如何获得它的内联?

Whoisearth

/myapp/templatetags/internal_extras.py

from __future__ import unicode_literals, absolute_import
from django import template
from django.core.urlresolvers import reverse, NoReverseMatch
from django.http import QueryDict
from django.utils import six
from django.utils.encoding import iri_to_uri
from django.utils.html import escape
from django.utils.safestring import SafeData, mark_safe
from django.utils.html import smart_urlquote
from rest_framework.compat import urlparse, force_text
import re

register = template.Library()

@register.simple_tag
def my_logout(request, user):
    """
    Include a logout snippet if REST framework's logout view is in the URLconf.
    """
    try:
        logout_url = reverse('rest_framework:logout')
    except NoReverseMatch:
        return '<li class="navbar-text">{user}</li>'.format(user=user)

    snippet = """<li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            {user}
            <b class="caret"></b>
        </a>
        <ul class="dropdown-menu">
            <li><a href='/dashboard'>Dashboard</a></li>
            <li><a href='{href}?next={next}'>Log out</a></li>
        </ul>
    </li>"""

    return snippet.format(user=user, href=logout_url, next=escape(request.path))

然后在我的HTML中,我有以下内容-

{% load internal_extras %}

{% if user.is_authenticated %}
    {% my_logout request user %}
{% else %}
    {% optional_login request %}

做到了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调整Django Rest框架模板

来自分类Dev

Django rest框架-PrimaryKeyRelatedField

来自分类Dev

Django Rest框架表格

来自分类Dev

Django Rest框架关系

来自分类Dev

Django Rest框架assertionError

来自分类Dev

Django rest框架ModelSerializer

来自分类Dev

Django rest框架-PrimaryKeyRelatedField

来自分类Dev

Django Rest框架表格

来自分类Dev

Django Rest 框架 - NoReverseMatch

来自分类Dev

Django Rest 框架:MultipleObjectsReturned

来自分类Dev

前端框架,例如Django的模板框架/ Jinja

来自分类Dev

Django REST框架+ Django REST Swagger + ImageField

来自分类Dev

在REST框架中使用Django消息框架

来自分类Dev

如何使用Django Rest框架在模板中获取模型选择字段名称而不是ID

来自分类Dev

django rest框架用户注册

来自分类Dev

Django REST框架Swagger 2.0

来自分类Dev

Django REST框架的通用ModelSerializer

来自分类Dev

在Django Rest框架中过滤

来自分类Dev

Django Rest框架中的IntegrityError

来自分类Dev

发布请求Django REST框架

来自分类Dev

Django Rest框架:Pickle响应

来自分类Dev

在Django Rest框架中过滤

来自分类Dev

Django rest框架用户注册?

来自分类Dev

django rest框架用户注册

来自分类Dev

Django REST框架Swagger 2.0

来自分类Dev

Django REST框架令牌注册

来自分类Dev

Json解析Django Rest框架

来自分类Dev

Django REST框架导入错误

来自分类Dev

Django REST 框架:CreateOnlyDefault 的目的