Python Flask prázdna stránka – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Python Flask prázdna stránka – Python – Fórum – Programujte.comPython Flask prázdna stránka – Python – Fórum – Programujte.com

 

citro0
Duch
1. 12. 2021   #1
-
0
-

Ahojte,
Potreboval by som poradiť s problémom renderovania stránky v Python Flask
Mám nasledujúcu časť kódu:

<form>
	{% for c_item in c_data %}
		<input type="text" class="form-control" placeholder="Meno" value="{{ c_item.name}}" required />
		<input type="text" class="form-control" placeholder="Email" value="{{ c_item.email }}" required />
	{% endfor %}
</form>

Problém je ten, že formulár sa zobrazí len v prípade ak list c_data obsahuje nejaké údaje. V opačnom prípade sa formulár vôbec nezobrazí a stránka je prázdna. Potreboval by som zobraziť prázdny formulár (prázdne textové polia) v prípade ak list c_data neobsahuje žiadne údaje.

Viete mi prosím povedať ako to dosiahnuť?

Vopred ďakujem.

Nahlásit jako SPAM
IP: 84.245.121.–
gna
~ Anonymní uživatel
1891 příspěvků
1. 12. 2021   #2
-
0
-

Už před před renderováním můžeš c_data naplnit tak, aby tam vždycky něco bylo. Pokud to chceš řešit v šabloně, tak podobně jako v kódu.

Můžeš třeba tu kolekci ve foru definovat ORem (ne nutně s prázdným dictem, jde jen o princip): 

{% for c_item in c_data or [{}] %}
  ...
{% endfor %}

Nebo explicitně testovat, jestli tam něco je: 

{% if not c_data %}
  ...
{% else %}
  {% for c_item in c_data %}
    ...
  {% endfor %}
{% endif %}

A tak dál.

Nahlásit jako SPAM
IP: 213.211.51.–
citro0
Duch
1. 12. 2021   #3
-
0
-

#2 gna
Super!

Ten 'or' pomohol.

Ďakujem. 

Nahlásit jako SPAM
IP: 84.245.121.–
tomas
~ Anonymní uživatel
560 příspěvků
3. 12. 2021   #4
-
0
-

Dobrý den,

ještě nikdy jsem to [{}] ve foru neviděl. Můžete vysvětlit co to dělá nebo dát odkaz kde jsou tyto detaily foru vysvětlené?
 

Nahlásit jako SPAM
IP: 2a01:7a0:2:1a35:3eec:efff:fe22:1ce2...–
gna
~ Anonymní uživatel
1891 příspěvků
3. 12. 2021   #5
-
0
-

To není nic speciálního, je to "normální" for-in něco.

A to něco je ve formě A or B (výsledek výrazu je A, pokud toto není prázdné, a jinak B)

A to B je list [] (podobně jako [1, 2, 3]) a v něm je jeden prázdný dict {} (podobně jako třeba {"jmeno": "Josef", "email": "pepik@example.com"}).

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý