Ještě, kdyby to někdo taky potřeboval implementovat (přestože jsme se 
dozvěděli, že k tomu Django není určeno) přidám jedno vhodné řešení:
*(3) použít django-baton.*

Dne čtvrtek 11. února 2021 v 10:38:05 UTC+1 uživatel MirekZv napsal:

> PS: weppy ~ emmett ?
>
> Dne středa 10. února 2021 v 19:40:26 UTC+1 uživatel MirekZv napsal:
>
>> Abych pořád jen nefňukal, že Weppy je polomrtvé a Cheetah opovrhovaný, 
>> ale abych skončil trochu konstruktivně:
>> V soutěži minimalizace zla se umístila tato řešení:
>>
>> *(1) menší flexibilita, menší náchylnost na problémy při upgradu Djanga*
>> ve vlastní aplikaci: admin/index.html
>> ```
>> {% extends "admin/index.html" %}
>> {% block content %}
>> <div id="content-main">
>>     {% include 'admin/before_app_list.html' %}{#mz#}
>>     {% include "admin/app_list.html" with app_list=app_list 
>> show_changelinks=True %}
>> </div>
>> {% endblock %}
>> ```
>> ve vlastní aplikaci: admin/nav_sidebar.html
>> {% load i18n %}
>> <button class="sticky toggle-nav-sidebar" id="toggle-nav-sidebar" 
>> aria-label="{% translate 'Toggle navigation' %}"></button>
>> <nav class="sticky" id="nav-sidebar">
>> {% include 'admin/before_app_list.html' %}{#mz#}
>> {% include 'admin/app_list.html' with app_list=available_apps 
>> show_changelinks=False %}
>> </nav>
>>
>> *(2) větší flexibilita, větší náchylnost na problémy při upgradu Djanga*
>> ve vlastní aplikaci: admin/app_list.html
>> nedědit/nepřetěžovat, ale upravit podle potřeby
>>
>> Dne středa 10. února 2021 v 18:45:24 UTC+1 uživatel MirekZv napsal:
>>
>>> PS:
>>> Potíž je, že tím předchozím postupem nejen nelze i18n/trans, ale nelze 
>>> ani vsadit do html jakýkoli string, který bych si připravil předem.
>>> Leda můžu v template/base.py místo `raise self.error(token, '%r must be 
>>> the first tag in the template.' % node,)` dát `pass`,
>>> aby Django neprovádělo své přechytralé kontraproduktivní kontroly.
>>> Jenže to už je zase patchování Djanga.
>>> Ach jo, zlatej Cheetah.
>>>
>>> Dne středa 10. února 2021 v 18:15:18 UTC+1 uživatel MirekZv napsal:
>>>
>>>> Mezitím mám jedno řešení.
>>>> Dokumentace Djanga je "doslovně" pravdivá: If you use {% extends %} in 
>>>> a template, it must be the first template tag in that template.
>>>> To skutečně znamená, že extends může předcházet (nikoli následovat) 
>>>> html kód.
>>>> To by mi celkem vyhovovalo. Jediné, co mě štve je, že nemůžu použít 
>>>> nejen {% include ... %}, ale ani i18n/trans :(
>>>> Příklad viz obrázky.[image: rap1.png][image: rap2.png]
>>>>
>>>> Dne středa 10. února 2021 v 18:10:44 UTC+1 uživatel MirekZv napsal:
>>>>
>>>>> Možná jsem Tě přesně nepochopil.
>>>>> Já umím extendovat admin/app_list.html, jenže je mi to k..h..u, 
>>>>> protože ta v sobě nemá žádný {% block .... %} - takže proč ji extendovat?
>>>>> Ale možná jsi myslel includovat. To by dávalo smysl.
>>>>>
>>>>> A pak taky nevím, jestli to, co píšeš, řeší, aby moje přidané položky 
>>>>> byly všude: 1) Na hlavní stránce admina, 2) Na stránkách aplikací, 3) V 
>>>>> sidebar menu během editace.
>>>>>
>>>>>
>>>>>
>>>>> Dne středa 10. února 2021 v 17:29:32 UTC+1 uživatel honza...@gmail.com 
>>>>> napsal:
>>>>>
>>>>>> app_list.html neni urcena k pretezovani, proto na to neni zarizena. 
>>>>>> Nejjednodussi cesta je:
>>>>>>
>>>>>> nastav si custom sablonu na index_template (0). Ve sablone (ktera se 
>>>>>> nebude jmenovat admin/index.html) extenduj index.html a prepis {% block 
>>>>>> content %} kde misto admin/app_list.html naimportujes jinou sablonu, 
>>>>>> ktera 
>>>>>> byde extendovat admin/app_list.html
>>>>>>
>>>>>>
>>>>>> 0 - 
>>>>>> https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.AdminSite.index_template
>>>>>>
>>>>>> Honza Král
>>>>>> E-Mail: honza...@gmail.com
>>>>>> Phone:  +420 606 678585 <+420%20606%20678%20585>
>>>>>>
>>>>>>
>>>>>> On Wed, Feb 10, 2021 at 5:22 PM MirekZv <mirek....@gmail.com> wrote:
>>>>>>
>>>>>>> Django mi zas dává do těla.
>>>>>>>
>>>>>>> Snažím se přidat menu do Django admina.
>>>>>>> Ačkoli lze najít plno návodů, zdá se mi, že všechno jsou hrozné 
>>>>>>> hacky a přestávají fungovat s nejbližší novější verzí Djanga.
>>>>>>>
>>>>>>> Takže by se mi zdálo, že nejbezpečnější by bylo,
>>>>>>> přidat si svoje vlastní menu položky před to, co generuje šablona 
>>>>>>> admin/app_list.html.
>>>>>>>
>>>>>>> Ta totiž generuje seznam aplikací (skupiny menu) a modelů v nich 
>>>>>>> (položky skupin).
>>>>>>> Tak bych si tam předhodil jednu skupinu se svými odkazy.
>>>>>>> A fungovalo by to ve všech scénářích, kde se to volá, ať už je to 
>>>>>>> hlavní obsah stránky, nebo to postranní menu (bavím se o Dj 3.1).
>>>>>>>
>>>>>>> JENŽE:
>>>>>>>
>>>>>>> Když předřadím svoji aplikaci před django.contrib.admin, udělám v ní 
>>>>>>> také admin/app_list.html, tak běží ten můj přednostně a pokud je v něm 
>>>>>>> {% 
>>>>>>> extends 'admin/app_list.html' %}, tak volá následně tu originál 
>>>>>>> djangovou a 
>>>>>>> nahrazuje v ní bloky , které předefinuji.
>>>>>>>
>>>>>>> To funguje a je to snad i popsáno v dokumentaci.
>>>>>>> Jenže v té originál nejsou žádné bloky. Jsou líní to aspoň jedním 
>>>>>>> blokem owrapovat,.aby šlo předchozí použít.
>>>>>>>
>>>>>>> Ale když místo toho dám {% include 'admin/app_list.html' %},
>>>>>>> tak nejde na tu djangovou originální, ale volá dokola stále tu moji 
>>>>>>> (nekonečná rekurze).
>>>>>>>
>>>>>>> Je nějaká možnost jak mít svoji templatu pod jménem app_list.html a 
>>>>>>> volat z ní něco svého + ten originální obsah?
>>>>>>>
>>>>>>> Aniž bych musel patchovat ten originální Django kód a jako kretén to 
>>>>>>> upravovat pokaždé, když vyjde nová verze Djanga??
>>>>>>>
>>>>>>> -- 
>>>>>>> -- 
>>>>>>> E-mailová skupina djan...@googlegroups.com
>>>>>>> Správa: http://groups.google.cz/group/django-cs
>>>>>>> --- 
>>>>>>> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny 
>>>>>>> „django-cs“ ve Skupinách Google.
>>>>>>> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze 
>>>>>>> skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
>>>>>>> Chcete-li tuto diskusi zobrazit na webu, navštivte 
>>>>>>> https://groups.google.com/d/msgid/django-cs/07164eea-9a91-4796-abd5-94eaabc3454bn%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/django-cs/07164eea-9a91-4796-abd5-94eaabc3454bn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/6153b105-f456-4a78-9fb7-05519f6d912bn%40googlegroups.com.

Reply via email to