Django - řešení pohledů a adres URL

Obsah
Pohledy a adresy URL nejsou naším kódem volány přímo, je to dáno dynamickou povahou aplikací, důvodem je, že čím je forma obecnější, je možné ji použít v mnoha dalších případech.
Správným způsobem je tedy použití různých funkcí, které nám umožňují přeložit trasy buď z pohledu na adresu URL, nebo z adresy URL do zobrazení, proto k tomu máme nějaké nástroje, tzv. dekoratéři.
Řešení z adresy URL na zobrazení
The pohledyDoporučené postupy nejsou volány přímo naším kódem, ale spíše jsou vyvolány prostřednictvím volání v adrese URL, tyto hovory jsou zpracovávány a obsluhovány dispečerským systémem Django.
Jedním z klíčových aspektů v tomto bodě je, že Django používá regulární výrazy abychom vytvořili adresu URL, která bude volat náš pohled, díky tomu můžeme předávat různé parametry a přidávat tak funkce do našich zobrazení.
A vzor URL obsahuje následující aspekty:
  • Regulární výraz, který nám umožňuje zachytit adresu URL, kterou jsme umístili jako vzor.
  • Odkaz na zobrazení, které bude voláno.
  • Slovník argumentů, který bude předán při každém vyvolání zobrazení.
  • Název, který bude použit jako reference, aby bylo možné provádět zpětná volání pohledu.
Řešení pohledů na adresy URL
V rámci našich aplikací mnohokrát musíme volat jiné pohledy nebo zdroje prostřednictvím adresy URL, ale rigidní kopírování nebo zakódování uvedených adres URL není dobrou praxí, protože pokud například v našem programu dojde ke změně, představte si, že budete muset změnit 20 nebo 30 odkazů na URL, k tomu můžeme použít různé metody, aby naše aplikace vyhledala URL, aniž bychom ji museli kopírovat, jednou z těchto metod je použít Permalink dekoratér které můžeme vidět v dalším bodě.
Dekorátor Permalink
V rámci každého modelu máme přístup k metodě get_absolute_url () to nám umožňuje přímý přístup na podrobnou stránku objektu, aniž bychom museli vědět, jak by měla být adresa URL vytvořena, nicméně tato metoda nám neumožňuje předávat argumenty, protože se jedná pouze o vrácený odkaz.
Abychom rozšířili funkčnost, máme možnost používat a vracet parametry, jako by byly z metody get_absolute_url ().
Chcete -li to provést, musíte dodržovat následující strukturu:
  • The první hodnota je název pohledu, který se má volat, pokud má zobrazení název, musí být použit, jinak můžeme použít importní cesta zraku. Tato hodnota je vždy požadována.
  • The druhá hodnota Je to n -tice pozičních argumentů, které by měly být použity na zobrazení, pokud ne, můžeme tento parametr nechat prázdný.
  • The třetí hodnota jde o slovník spojující argumenty s jejich příslušnými hodnotami, tyto hodnoty musí být předány zobrazení, v případě, že pohled neobdrží nic, můžeme tuto hodnotu z volání vyloučit.
Podívejme se dále, jak to přeložíme do kódu v DjangoZa tímto účelem zahrneme použití dekoratér v modelu:

Jak vidíme v kódu na obrázku, voláme zobrazení library_article detail, druhou hodnotu předáme prázdnou, protože to není nutné, a ve třetí hodnotě uvedeme, že object_id musí být svázán s self.id to znamená, že k id samotného modelu, pak v posledním řádku použijeme dekoratér.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave