2017-08-03 72 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