2017-02-26 28 views
0

我創建了一個「base.html」模板來容納我的導航欄和我的網站上經常出現的其他元素。 當我擴展此模板並將值放入我的塊中時,其中一個不想正常工作。Django,試圖改變擴展導航欄的類屬性

在我的代碼中,我嘗試根據我在哪個頁面(它可能不是最佳解決方案)將我的導航元素的類值設置爲「活動」。此塊從不起作用。

謝謝您的幫助:)

urls.py

urlpatterns = [ 
url(r'^$', views.index, name='index'), 
url(r'^addProduct/$', views.addProduct, name='addProduct'), 
] 

views.py

def index(request): 
    latest_product_list = Product.objects.all().order_by('-id')[:5] 
    return render(request, 'main/index.html', {'latest_product_list': latest_product_list}) 

def addProduct(request): 
    # Do things 
    return render(request, 'main/add_product.html', {'form':form}) 

base.html文件

<!DOCTYPE html> 
<html lang="fr"> 
<head> 
#header informations 
</head> 

<body> 
    <div class="container-fluid"> 

     <div class="row"> 
      {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} 
     </div> 

     <ul class="nav nav-pills" role="tablist"> 
      <li role="presentation" class="{% block navbar_class-index %}{% endblock %}"><a href="{% url 'main:index' %}">Index</span></a></li> 
      <li role="presentation" class="{% block navbar_class-addProduct %}{% endblock %}"><a href="{% url 'main:addProduct' %}">Ajouter un produit</a></li> 
     </ul> 

     <div class="row" id="content"> 
      {% block content %}{% endblock content %} 
     </div> 
    </div> 

</body> 

的index.html

{% extends "base.html" %} 

{% block navbar_class-index %}active{% endblock %} 

{% block content %} 

<div class="col-md-12"> 
    ## Here is my content 
</div> 
{% endblock content %} 

add_product.html

{% extends "base.html" %} 

{% block navbar_class-addProduct %}active{% endblock %} 

{% block content %} 
<div class="col-md-12"> 
    <form action="{% url 'main:addProduct' %}" method="post"> 
    {% csrf_token %} 
    <label> Entrez votre produit et cliquez sur Add Product.</label><br/><br/> 
    <label> Produit : </label>{{form.form_product_url}} 
    <input type="submit" value="Add Product" /> 
    </form> 
</div> 
{% endblock content %} 

回答

0

我猜你的base.html文件的文件是不是在正確的文件夾!

+0

你說得對。基本上它不在模板文件夾中的模板/項目文件夾中。我在第一個版本的base.html中有第一個版本的副本,所以它沒有應用我的更改。 – Alk