Drobné úpravy
Dnes jsem se bavil s Jethrem, jak udělat toaleťák. Bude potřeba přepsat vytahniZLesaTematka, aby uměla otevírací a zavírací tagy pro každý podstrom. Poté uvidím, co použiju pro rozcestník.
This commit is contained in:
parent
81d868eb06
commit
ca3daf769f
4 changed files with 20 additions and 11 deletions
|
@ -3,10 +3,10 @@
|
|||
<p>{{tematko.abstrakt}}</p>
|
||||
<ul>
|
||||
{% for cislo in tematko.cisla %}
|
||||
<li>{{cislo.0.0}} -> /{{tematko.kod}}/#{{cislo.0.1}}</li>
|
||||
<li><a href="/{{rocnik}}/t{{tematko.kod}}/#{{cislo.0.1}}">{{cislo.0.0}}</a></li>
|
||||
<ul>
|
||||
{% for odkaz in cislo.1 %}
|
||||
<li>{{odkaz.0}} -> /{{tematko.kod}}/#{{odkaz.1}}</li>
|
||||
<li><a href="/{{rocnik}}/t{{tematko.kod}}/#{{odkaz.1}}">{{odkaz.0}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
|
|
1
seminar/templates/seminar/tematka/toaletak.html
Normal file
1
seminar/templates/seminar/tematka/toaletak.html
Normal file
|
@ -0,0 +1 @@
|
|||
Stránká témátka
|
|
@ -8,8 +8,8 @@ from django.contrib.auth import views as auth_views
|
|||
staff_member_required = user_passes_test(lambda u: u.is_staff)
|
||||
|
||||
urlpatterns = [
|
||||
path('tematka/', views.TemataRozcestnikView),
|
||||
path('tematko/<int:tematko>/', views.TematkoView),
|
||||
path('aktualni/temata/', views.TemataRozcestnikView),
|
||||
path('<int:rocnik>/t<int:tematko>/', views.TematkoView),
|
||||
|
||||
# REDIRECTy
|
||||
path('jak-resit/', RedirectView.as_view(url='/co-je-MaM/jak-resit/')),
|
||||
|
|
|
@ -75,10 +75,7 @@ def ZadaniTemataView(request):
|
|||
}
|
||||
)
|
||||
|
||||
#TODO na příště - implementovat DFS, které vrátí seznam objektů, jejich hloubku a objekt, který chci zobrazit,
|
||||
#TODO na příště - rozmyslet, jak zobrazovat objekty - u každého Nodu se objekt, na který ukazuje jmenuje jinak, zavést metodu, která se u každé subclassy bude jmenovat stejně? __str__
|
||||
#TODO na příště - v jaké formě předávat templatu? Jak řešit rozbalovací tagy?
|
||||
#TODO na příště - implementace vpisování rozbalovacích tagů, vytvořit si nový objekt, který bude mít stejnou metodu jako objekty, které mají node, která bude vracet vhodný tag a prostě ji přidat do seznamu?
|
||||
# TODO Napsat tuto funkci znovu rekurzivně podle Jethrorad. Potom se podívat, jak lehce se dá modifikovat pro Rozcestník. Pokud lehce, rozšířit ji. Pokud složitě - použít tuhle
|
||||
def vytahniZLesaSeznam(tematko, koren, pouze_zajimave=False):
|
||||
returnVal = []
|
||||
|
||||
|
@ -122,8 +119,19 @@ def vytahniZLesaSeznam(tematko, koren, pouze_zajimave=False):
|
|||
returnVal.append((wn, wd))
|
||||
return returnVal
|
||||
|
||||
def TematkoView(request):
|
||||
neco
|
||||
def TematkoView(request, rocnik, tematko):
|
||||
nastaveni = s.Nastaveni.objects.first()
|
||||
rocnik_object = s.Rocnik.objects.filter(rocnik=rocnik)
|
||||
tematko_object = s.Tema.objects.filter(rocnik=rocnik_object[0], kod=tematko)
|
||||
seznam = vytahniZLesaSeznam(tematko_object[0], nastaveni.aktualni_rocnik().rocniknode)
|
||||
for node, depth in seznam:
|
||||
if node.isinstance(node, s.KonferaNode):
|
||||
raise Exception("Not implemented yet")
|
||||
if node.isinstance(node, s.PohadkaNode): # Mohu ignorovat, má pod sebou
|
||||
pass
|
||||
|
||||
return render(request, 'seminar/tematka/toaletak.html', {})
|
||||
|
||||
|
||||
def TemataRozcestnikView(request):
|
||||
print("=============================================")
|
||||
|
@ -158,7 +166,7 @@ def TemataRozcestnikView(request):
|
|||
"obrazek": tematko_object.obrazek,
|
||||
"cisla" : cisla
|
||||
})
|
||||
return render(request, 'seminar/tematka/rozcestnik.html', {"tematka": tematka})
|
||||
return render(request, 'seminar/tematka/rozcestnik.html', {"tematka": tematka, "rocnik" : nastaveni.aktualni_rocnik().rocnik})
|
||||
|
||||
|
||||
#def ZadaniAktualniVysledkovkaView(request):
|
||||
|
|
Loading…
Reference in a new issue