登录Django时引导导航栏高度不一致



使用Django在PTVS中的默认Jumbotron主题,当登录时,我创建的所有模板在导航栏中都有更多的高度。文本没有改变,只是导航条的底部边缘进一步下移了几个像素。

当:

  • 窗口缩小,导航栏显示汉堡标志

  • 我从模板中复制准确的代码来覆盖默认模板而不改变视图

  • {% include 'app/loginpartial.html' %}layout.html中移除

  • {% if user.is_authenticated %}loginpartial.html中去除

  • 我在注销时浏览有问题的页面

我尝试从默认复制视图代码,但这并没有解决问题。任何想法是什么/在哪里的问题,以及如何才能解决?谢谢你!

Update这是loginpartial.html中导致问题的代码,它似乎只影响我创建的页面,而不是默认页面:

    <ul class="nav navbar-nav navbar-right">
        <li><span class="navbar-brand">{{ user.username }}</span></li>
        <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
    </ul>

views.py old

def places(request):
    places = Place.objects.all()
    return render(request, 'app/places.html',     {'title':'Places','places':places,'year':datetime.now().year})

views.py尝试修复失败

def places(request):
    assert isinstance(request, HttpRequest)
    return render(
        request,
        'app/places.html',
        context_instance = RequestContext(request,
        {
            'title':'Places',
            'places':places,
            'year':datetime.now().year,
        })
    )

loginpartial.html与默认值afaik保持一致

{% if user.is_authenticated %}
<form id="logoutForm" action="/logout" method="post" class="navbar-right">
    {% csrf_token %}
    <ul class="nav navbar-nav navbar-right">
        <li><span class="navbar-brand">{{ user.username }}</span></li>
        <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
    </ul>
</form>
{% else %}
<ul class="nav navbar-nav navbar-right">
    <li><a href="{% url 'login' %}">Log in</a></li>
</ul>
{% endif %}

看起来您遇到了这个问题,因为下面两件事:

  1. navbar-right类在user.is_authenticated块中使用两次。这个类用于设置导航条的位置。要使其他元素右浮动,你应该使用pull-right类。因此,尝试从表单中删除该类。
  2. 此外,为什么<ul>与表单包装?表单只是导航条的一部分,所以它应该在导航条里面。我建议在您的情况下使用<div>作为导航条持有人,并将<ul><form>(如果您需要它)放在其中。

最新更新