10 užitečných balíčků pro Django
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

10 užitečných balíčků pro Django10 užitečných balíčků pro Django

 

10 užitečných balíčků pro Django

Google       Google       18. 9. 2013       19 718×

Každý z nás staví na odkazu svých předků. I programátoři. Nehrajte si proto na supermany a využijte to, co ostatní nabízí. Článek přináší přehled deseti zajímavých balíčků pro framework Django, které vám mohou ubrat bezesných nocí pomalého vývoje.

Reklama
Reklama

Pokud začínáte tento článek číst a nemáte přesnou představu, co to vlastně Django je, doporučuji se nejdříve podívat na český web o tomto frameworku, případně na oficiální dokumentaci. Pokud jste naopak ostřílení veteráni, nebude pro vás většina z projektů patrně neznámá. Máte-li své odlišné oblíbence, neváhejte se o ně podělit v diskuzi.

Každý z níže uvedených balíčků by měl jít bez problému nainstalovat pomocí nástroje pip.

pip install nazev-balicku

Pro většinu balíčků musíte ještě vykonat kromě instalace pár kroků navíc - patrně to bude přidání do INSTALLED_APPS. O tom, co vše musíte provést, aby aplikace fungovala, se dočtete na oficiálních stránkách projektů.

Autor článku je zároveň autorem některých ze zde uvedených projektů. ​

1. sorl-thumbnail

Balíček, který staví na knihovně PIL a nabízí jednoduché API pro vytváření náhledů a různých zmenšenin obrázků. Samozřejmostí je také ořezávání do potřebného formátu.

Ukázka nějčastějšího využití v šablonách:

{% load thumbnail %}

{% thumbnail item.image "100x100" crop="center" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

Více příkladů naleznete v dokumentaci projektu.

2. django-less

Pokud jste příznivci různých preprocesorů pro CSS, jistě oceníte jejich podporu v Djangu. Mým oblíbencem je Less, proto také uvádím tento balíček. Existují samozřejmě i cesty, jak použít jiné nástroje - v tom vám lépe než poradí Google.

Použití django-less je naprosto jednoduché - použít můžete jak inline styly, tak externí soubor.

{% load less %}

<!-- inline vlozeni stylu -->
<style>
  {% inlineless %}
    #header {
      h1 {
        font-size: 26px;
        font-weight: bold;
      }
      p { font-size: 12px;
        a { text-decoration: none;
          &:hover { border-width: 1px }
        }
      }
    }
  {% endless %}
</style>

<!-- externi soubor -->
<link rel="stylesheet" href="{{ STATIC_URL}}{% less "path/to/styles.less" %}" />

3. django-guardian

Ačkoli Django poskytuje základní správu oprávnění hned v základní instalaci, na mnoho komplexnějších věcí přestává stačit. Pokud budete chtít například per object oprávnění, budete muset sáhnout po nějakém rozšíření. 

A právě jedním z těchto nástrojů je django-guardian. Kromě možnosti přidat jednotlivá oprávnění ke každému objektu vám poskytne vylepšené API, integraci do administrace Djanga a pár užitečných dekorátorů a template tagů. Protože nasazení této aplikace není úplně triviální, místo uvedení příkladů použití vás rovnou odkáži na oficiální dokumentaci.

4. cstypo

Nástroj, který pomáhá na text aplikovat základní česká typografická pravidla. Krom záměny tří teček na výpustku, převedení uvozovek a použití správných pomlček a spojovníků vám také přidá nedělitelné mezery za jednoznakové předložky, zformátuje data atd. 

Zpracovat dokáže jak obyčejný text, tak HTML dokument:

{% load cstags %}

{{ text|typify }}                # zpracování obyčejného textu (výchozí)
{{ text|typify:'txt' }}          # ...

{{ text|typify:'html' }}         # zpracování html
{{ text|typify:'html'|safe }}    

5. django-embed-video

Jak vložit do stránek video z YouTube nebo z Vimeo by z hlavy dokázal říct správně asi málokdo. Triviálním řešením je zkopírovat kód pro sdílení a upravit potřebné atributy. Elegantnějším řešením je použít django-embed-video. To vám kromě základního zobrazení pomocí template tagů nabídne i práci s náhledy.

{% load embed_video_tags %}

{{ 'http://www.youtube.com/watch?v=guXyvo2FfLs'|embed:'large' }}

6. django-extensions

Základní nabídka příkazů je v Djangu sice pro většinu potřeb dostačující, občas ale budete potřebovat něco extra. A je velká šance, že se vám bude hodit právě tento projekt. Nabízí toho celou řadu, od generování grafů z modelů, přes upravený vývojový server až po vylepšený shell.

python manage.py export_emails > adresses.txt

7. django-floppyforms

Práce s formuláři bývá v Djangu často kostrbatá. Psaní čistého HTML je zdlouhavé, výchozí generování formulářů je špatně přizpůsobitelné a různé přesouvání z šablon do formulářových tříd také není ideální. Rozumným kompromisem se zdá být právě django-floppyforms

Nejužitečnější vlastností je asi vytváření šablon pro jednotlivé prvky formuláře, díky čemuž lze snadno používat různé HTML frameworky, např. Bootstrap. Kromě toho nabízí HTML5 tagy, vlastní form fieldy a widgety pro práci s mapami (ve spolupráci s GeoDjangem).

Pro použití je opět nejlepší prostudovat dokumentaci.

8. django-debug-toolbar

Django debug toolbar

Odladit aplikaci, aby pracovala správně a rychle, bývá někdy obtížnější než její napsání. Vypořádat se s tímto nepříjemným úkolem vám pomůže django-debug-toolbar, který ve formě postranního panelu poskytne snadný přístup k nejrůznějším interním informacím, nastavení, SQL dotazům a dalším.

Kromě toho je možné rozšířit ho o externí panely - informace o Memcache, MongoDB nebo například o validátor HTML.

9. lettuce

Kdo ještě nepíše testy, měl by co nejrychleji začít. Kromě unittestů lze psát i funkcionální testy, ve kterých simulujete pohyb uživatele po webu a kontrolujete, zda vše funguje, tak jak má. Nejde o nic složitějšího, než obyčejné "proklikání" webu, které ověří, jestli se po úpravě něco nerozsypalo. Jediný rozdíl je v tom, že to provedete automaticky.

Právě toto dělá lettuce. Jedná se o projekt inspirovaný nástrojem Cucumber, známým ze světa Ruby. Propojení s Djangem není obtížné a díky podpoře různých backendů je možné rozběhat tyto testy i na serveru bez grafického prostředí (např. pomocí PhantomJS).

Feature: Working with contributors settings
    Scenario: Change name
        Given I log in as "joe@home.com" with password "joe2013athome"
        And I go to "/my/settings/"
        And I write "Joe" to "first_name"
        And I write "Novak" to "last_name"
        And I click to "#submit-id-save"
        Then there is "#messages .alert.alert-success"
        And I see "Joe" in "#id_first_name"
        And I see "Novak" in "#id_last_name"
        And I write "Joe Allen" to "first_name"
        And I write "Smith" to "last_name"
        And I click to "#submit-id-save"
        Then there is "#messages .alert.alert-success"
        And I see "Joe Allen" in "#id_first_name"
        And I see "Smith" in "#id_last_name"

10. south

Ač jsem south nechal až na konec, jedná se o velmi důležitý nástroj, bez kterého se obejdete jen stěží. Umožní vám totiž provádět migrace databáze - přidávat a ubírat položky v modelech, měnit jejich názvy apod. Podporuje i migraci dat, různé před a po migrační signály, podporu vlastních polí a další. I zde vás odkáži na pročtení manuálu.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Tagy:
3 názory  —  3 nové  
Hlasování bylo ukončeno    
12 hlasů
Google
(fotka) Juda KaletaAutor programuje v PHP a Pythonu, má velmi rád Linux a svobodný software. Také občas vyrazí do terénu s fotoaparátem. Většinu takto získaného materiálu publikuje na svém blogu.
Web     Facebook     LinkedIn    

Nové články

Obrázek ke článku NVIDIA shrnuje přehled novinek na E3 2018

NVIDIA shrnuje přehled novinek na E3 2018

Společnost NVIDIA si u příležitosti E3 2018 připravila řadu novinek, které uvádí v kompletním přehledu, Například nové hry s podporou NVIDIA Highlights, která je součástí aplikace GeForce Experience, i nadále nabírá na obrátkách. Kromě výše zmíněné Shadow of the Tomb Raider získaly podporu také hry Dirty Bomb a Switchblade.

Reklama
Reklama
Obrázek ke článku SODAT vidí budoucnost datové bezpečnosti ve strojovém učení

SODAT vidí budoucnost datové bezpečnosti ve strojovém učení

Firmy chrání svá citlivá data často nedostatečně. Podle průzkumu společnosti SODAT se v minulém roce setkalo až 80 % z nich s bezpečnostním incidentem ztráty nebo úniku dat. Jedna z pilotních firem, která testovala novou verzi řešení SODAT Protection & Analytics 2.0pro bezpečností analýzu a monitoring dat díky novince zjistila, kdo z disku smazal důležité výkresy a mohla na incident včas reagovat.

Obrázek ke článku Kontrolujete pracovní emaily i na dovolené? 7 tipů odborníka, jak nepřijít o data

Kontrolujete pracovní emaily i na dovolené? 7 tipů odborníka, jak nepřijít o data

Letní měsíce jsou pro většinu zaměstnanců spojené s každoroční dovolenou. Z údajů Českého statistického úřadu vyplývá, že v roce 2017 podnikli Češi přes 13 milionů delších cest (tzn. s více než čtyřmi noclehy). Přitom právě na období července, srpna a září připadá více než 7,5 milionů z nich. Nicméně tradiční představu o dovolené jako o čase, kdy má práci na starost někdo jiný, Češi boří. 

Obrázek ke článku 10 SEO mýtů, které už nemusíte v roce 2018 řešit

10 SEO mýtů, které už nemusíte v roce 2018 řešit

„Kolik má být na stránce klíčových slov?“, „Nemáš vyplněný meta tag keywords, to nebude fungovat.“, „Katalogy jsou mrtvý“. Také jste už slyšeli některé z těchto otázek? Pojďme si na ně konečně jednou provždy odpovědět.

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