登录Django

时间:2015-10-05 00:18:08

标签: django twitter-bootstrap

在PTVS中使用默认的Jumbotron主题和Django,登录后,我创建的所有模板在导航栏中都有更多高度。文本没有变化,只是导航栏的下边距进一步下降了几个像素。

问题在以下时间内无法展示:

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

  • 我从模板中复制确切代码以覆盖默认模板而不更改视图

  • {% include 'app/loginpartial.html' %}已从layout.html

  • 中删除
  • {% if user.is_authenticated %}已从loginpartial.html

  • 中删除
  • 我在退出时浏览有问题的页面

我尝试从默认设置中复制视图代码,但这并没有解决问题。知道问题是什么/在哪里,以及如何解决?谢谢!

更新以下是导致问题的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

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 个答案:

答案 0 :(得分:1)

由于接下来的两件事情,您似乎遇到了问题:

  1. *类在navbar-right块中使用了两次。此类用于设置导航栏的位置。要使其他元素浮动,您应该使用user.is_authenticated类。因此,请尝试从表单中删除此类。
  2. 此外,为什么pull-right包裹着表格?表单只是导航栏的一部分,因此它应该在导航栏中。我建议在您的情况下使用<ul>作为导航栏持有者,并在其中放置<div><ul>(如果您需要)。