2017-08-03 34 views
0

我在Django begginer所以請嘗試理解我。 我在我的django項目中遇到了問題。我創建了base.html文件這樣django塊不顯示另一個意見

{% include 'firmy/header.html' %} 
<html> 
<body> 
<h4>Ostatnio dodane</h4> 
{% block firmy %} 
{% endblock %} 
<h4>Kategorie</h4> 
{% block kategorie %} 
{% endblock %} 

</body> 
{% include 'firmy/footer.html' %} 
</html> 

和{%塊FIRMY%}顯示我的每記錄了我從另一個文件希望,但{%塊kategorie%}深藏不露。 在views.py我的代碼:

from django.shortcuts import render 
from .models import Witryna, Kategorie 
from django.utils import timezone 

def widok_strony(request): 
    firmy = Witryna.objects.filter(data_publikacji__lte=timezone.now()).order_by('data_publikacji') 
    return render(request, 'firmy/widok_strony.html', {'firmy': firmy}) 

def widok_kategorii(request): 
    kategorie = Kategorie.objects.all().order_by('glowna') 
    return render(request, 'firmy/widok_kategorii.html', {'kategorie': kategorie}) 

urls.py我的代碼:

from django.conf.urls import url 
from . import views 

urlpatterns = [ 
    url(r'^$', views.widok_strony, name='widok_strony'), 
    url(r'^$', views.widok_kategorii, name='widok_kategorii'), 
] 

和在端models.py

from django.db import models 
from django.utils import timezone 


class Kategorie(models.Model): 
    glowna = models.CharField(max_length=150, verbose_name='Kategoria') 

    class Meta: 
     verbose_name='Kategoria' 
     verbose_name_plural='Kategorie' 

    def __str__(self): 
     return self.glowna 


class Witryna(models.Model): 
    nazwa = models.CharField(default="", max_length=150, verbose_name = 'Nazwa strony') 
    adres_www = models.CharField(max_length=70, verbose_name='Adres www') 
    slug = models.SlugField(max_length=250, verbose_name='Przyjazny adres url') 
    email = models.CharField(max_length=100, verbose_name='Adres e-mail') 
    text = models.TextField(max_length=3000, verbose_name='Opis strony') 
    kategoria = models.ForeignKey(Kategorie, verbose_name='Kategoria') 
    data_publikacji = models.DateTimeField(blank=True, null=True, verbose_name='Data publikacji') 

    class Meta: 
     verbose_name='Strona www' 
     verbose_name_plural = 'Strony www' 

    def publikacja(self): 
     self.data_publikacji=timezone.now() 
     self.save() 

    def __str__(self): 
     return self.nazwa 

and widok_kategorii.html

{% extends 'firmy/base.html' %} 

{% block kategorie %} 


{% for kategoria in kategorie %} 


<p>{{ kategoria.glowna }}</p> 


{% endfor %} 
{% endblock kategorie %} 

真的,我不知道哪裏出了問題,但是當我打開瀏覽器在localhost:8000我不能看到從類Kategorie細節。

+0

請首先區分urls.py文件中的網址格式。他們都是一樣的。 –

+0

還包括上面的'widok_kategorii.html'文件。 –

+0

嗯Rajan可以你寫我如何正確區分這種網址模式? – killerbees

回答

1

對於視圖和URL如何工作,您有一個很大的誤解。

URL只能由一個視圖提供。該視圖將完全負責創建響應,通常通過渲染單個模板來完成響應。您需要從該視圖傳遞模板的所有信息。

+0

現在我明白了。我只能有一個主視圖。我如何將其他'視圖'包含到我的base.html中?就像在這種情況下,現在我已經將kategorie作爲主視圖,並且我可以怎樣在base.html上顯示widok_strony? – killerbees