Skip to content

Commit 0da70b8

Browse files
authored
Merge pull request DjangoGirls#838 from baradrb/patch-9
Czech proofreading
2 parents 25310b6 + 40d9613 commit 0da70b8

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

cs/django_models/README.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Django modely
22

3-
Nyní chceme vytvořit něco, co bude ukládat všechny příspěvky na našem blogu. Ale abychom to mohli udělat, musíme si nejdříve říct něco o `objektech`.
3+
Nyní chceme vytvořit něco, co bude ukládat všechny příspěvky na náš blog. Ale abychom to mohly udělat, musíme si nejdříve říct něco o `objektech`.
44

55
## Objekty
66

77
V programování se používá koncept zvaný `objektově orientované programování`. Tato myšlenka předpokládá, že místo psaní všeho jako nudný sled programovacích instrukcí můžeme modelovat věci a definovat, jak komunikují mezi sebou navzájem.
88

99
Co tedy je objekt? Je to kolekce vlastností a činností. Zní to divně, ale dáme ti příklad.
1010

11-
Pokud chceme modelovat kočku vytvoříme objekt `kočka`, který má nějaké vlastnosti, například `barva`, `věk`, `nálada` (ta je dobrá, špatná, ospalá ;)), `vlastník` (který je objektem `osoba` nebo je možný případ zatoulané kočky, kde bude tato vlastnost prázdná).
11+
Pokud chceme modelovat kočku, vytvoříme objekt `kočka`, který má nějaké vlastnosti, například `barva`, `věk`, `nálada` (ta je dobrá, špatná, ospalá ;)), `vlastník` (který je objektem `osoba` nebo je možný případ zatoulané kočky, kde bude tato vlastnost prázdná).
1212

13-
`Kočka` má také některé akce: `předení`, `škrábání` nebo `krmení` (v němž dáváme kočce nějaké `kočičí jídlo`, které by mohlo být samostatný objekt s vlastnostmi, například `chuť`).
13+
`Kočka` má také některé akce: `předení`, `škrábání` nebo `žraní` (v němž dáváme kočce nějaké `kočičí granule`, které by mohlo být samostatný objekt s vlastnostmi, například `chuť`).
1414

1515
```
1616
Cat
@@ -31,7 +31,7 @@ Pokud chceme modelovat kočku vytvoříme objekt `kočka`, který má nějaké v
3131

3232
Základní představa je popsat skutečné věci v kódu vlastnostmi (nazývané `vlastnosti objektu/object properties`) a akcemi (nazývané `metody/methods`).
3333

34-
Jak tedy bude vypadat model blogu? Chceme vytvořit blog, ne?
34+
Jak tedy bude vypadat model blogu?
3535

3636
Musíme odpovědět na otázku: Co je blog post/příspěvek? Jaké by měl mít vlastnosti?
3737

@@ -47,29 +47,29 @@ Určitě budeme v naše blogu potřebovat nějaký text s jeho obsahem a titulke
4747
published_date
4848
```
4949

50-
Jaký druh věcí můžeme s příspěvkem dělat? Bylo by hezké mít nějakou `metodu`, která publikuje příspěvek, že ano?
50+
Jaký druh věcí můžeme s příspěvkem dělat? Bylo by hezké mít nějakou `metodu`, která publikuje příspěvek.
5151

5252
Takže budeme potřebovat metodu `publish`.
5353

54-
Vzhledem k tomu, že už víme, co chceme dosáhnout, můžeme začít modelování v Django!
54+
Vzhledem k tomu, že už víme, čeho chceme dosáhnout, můžeme začít modelování v Djangu!
5555

5656
## Django model
5757

58-
Nyní víme jaký objekt chceme vytvořit, tak můžeme přistoupit k tvorbě Django modelu pro náš příspěvek v blogu.
58+
Nyní víme, jaký objekt chceme vytvořit, takže můžeme přistoupit k tvorbě Django modelu pro náš příspěvek v blogu.
5959

60-
Model v Django je zvláštní druh objektu - který je uložen v `databázi`. Databáze je soubor dat. Je to místo, ve kterém budeš ukládat informace o uživatelích a tvých příspěvcích v blogu, atd. Budeme používat SQLite databázi k ukládání dat. To je výchozí databázový adaptér v Djangu – to nám bude nyní stačit.
60+
Model v Django je zvláštní druh objektu - který je uložen v `databázi`. Databáze je soubor dat. Je to místo, kam budeš ukládat informace o uživatelích a tvých příspěvcích v blogu, atd. Budeme používat SQLite databázi k ukládání dat. To je výchozí databázový adaptér v Djangu – to nám bude nyní stačit.
6161

6262
Model v databázi si lze představit jako tabulku s řádky (data) a sloupci (údaje).
6363

6464
### Vytvoření aplikace
6565

66-
Abychom udrželi pořádek, vytvoříme si samostatnou aplikaci uvnitř našeho projektu. Je velmi příjemné mít všechno zorganizované od samého začátku. Chceš-li vytvořit novou aplikaci, je třeba spustit následující příkaz v konzoli (z `djangogirls` adresáře, kde je `manage.py` soubor):
66+
Abychom udržely pořádek, vytvoříme si samostatnou aplikaci uvnitř našeho projektu. Je velmi příjemné mít všechno zorganizované od samého začátku. Chceš-li vytvořit novou aplikaci, je třeba spustit následující příkaz v konzoli (z `djangogirls` adresáře, kde je `manage.py` soubor):
6767

6868
```
6969
(myvenv) ~/djangogirls$ python manage.py startapp blog
7070
```
7171

72-
Zjistíš, že nový adresář `blog` nyní obsahuje řadu souborů. Adresáře a soubory v našem projektu by měl vypadat následovně:
72+
Zjistíš, že nový adresář `blog` nyní obsahuje řadu souborů. Adresáře a soubory v našem projektu by měly vypadat následovně:
7373

7474
```
7575
djangogirls
@@ -89,7 +89,7 @@ Zjistíš, že nový adresář `blog` nyní obsahuje řadu souborů. Adresáře
8989
└── views.py
9090
```
9191

92-
Po vytvoření aplikace musíš také Djangu říct, že by měl použít. Uděláme to v souboru `mysite/settings.py`. Musíme najít `INSTALLED_APPS` a přidat řádek, který bude obsahovat `"blog",` `)`. Takže konečná konfigurace by měla vypadat takto:
92+
Po vytvoření aplikace musíš také Djangu říct, že by ji měl použít. Uděláme to v souboru `mysite/settings.py`. Musíme najít `INSTALLED_APPS` a přidat řádek, který bude obsahovat `"blog",` `)`. Takže konečná konfigurace by měla vypadat takto:
9393

9494
```python
9595
INSTALLED_APPS = (
@@ -107,7 +107,7 @@ Po vytvoření aplikace musíš také Djangu říct, že by jí měl použít. U
107107

108108
V souboru `blog/models.py` budeme definovat všechny objekty nazývané `modely` - na tomto místě budeme definovat náš blog post.
109109

110-
Otevři `blog/models.py`, odstraň vše co v něm je a vlož následující kód:
110+
Otevři `blog/models.py`, odstraň vše, co v něm je, a vlož následující kód:
111111

112112
```python
113113
from django.db import models
@@ -131,36 +131,36 @@ Otevři `blog/models.py`, odstraň vše co v něm je a vlož následující kód
131131
return self.title
132132
```
133133

134-
> Dvakrát si zkontroluj, že jsi použila dva znaky podtržítko(`_`) na každé straně `str`. Tato konvence se v Pythonu používá často. Někdy je také nazýváme "dunder" (zktratka pro "Double-UNDERscore").
134+
> Dvakrát si zkontroluj, že jsi použila dva znaky podtržítko(`_`) na každé straně `str`. Tato konvence se v Pythonu používá často. Někdy je také nazýváme "dunder" (zkratka pro "Double-UNDERscore").
135135
136-
Vypadá to děsivě, že? Ale žádný strach vysvětlíme, co tyto řádky znamenají!
136+
Vypadá to děsivě, že? Ale žádný strach, vysvětlíme ti, co tyto řádky znamenají!
137137

138138
Všechny řádky začínající `from` nebo `import` jsou řádky, které přidávají některé kousky z jiných souborů. Takže namísto kopírování a vkládání stejných věcí v každém souboru, můžeš zahrnout některé části s `from... import...`.
139139

140-
`class Post(models.Model):`-Tento řádek definuje náš model (Jedná se o `objekt`).
140+
`class Post(models.Model):` - Tento řádek definuje náš model (Jedná se o `objekt`).
141141

142142
* `class` je speciální klíčové slovo, které říká, že definujeme objekt.
143-
* `Post` je jméno našeho modelu, můžeme mu dát jiné jméno (ale musíme se vyvarovat speciálních znaků a bílých míst). Název třídy vždy začínej velkým písmenem.
143+
* `Post` je jméno našeho modelu, můžeme mu dát jiné jméno (ale musíme se vyvarovat speciálních znaků a bílých znaků). Název třídy vždy začínej velkým písmenem.
144144
* `models. Model` znamená, že Post je Django Model, takže Django ví, že by to mělo být uloženo v databázi.
145145

146-
Nyní definujeme vlastnosti, mluvili jsme o: `title`, `text`, `created_date`, `published_date` a `autor`. To uděláš tak, že definuješ typ každého pole (Je to text? Číslo? Datum? Vztah k jinému objektu, například uživateli?).
146+
Nyní definujeme vlastnosti, mluvily jsme o: `title`, `text`, `created_date`, `published_date` a `autor`. To uděláš tak, že definuješ typ každého pole (Je to text? Číslo? Datum? Vztah k jinému objektu, například uživateli?).
147147

148-
* `models. CharField`-takto definuješ text s omezeným počtem znaků.
149-
* `models. TextField`-toto použiješ na dlouhý text bez omezení. To zní ideálně pro obsah blog post, ne?
150-
* `models. DateTimeField`-definuje datum a čas.
151-
* `models. ForeignKey`-definuje odkaz do jiného modelu.
148+
* `models. CharField` - takto definuješ text s omezeným počtem znaků.
149+
* `models. TextField` - toto použiješ na dlouhý text bez omezení. To zní ideálně pro obsah blog post, ne?
150+
* `models. DateTimeField` - definuje datum a čas.
151+
* `models. ForeignKey` - definuje odkaz do jiného modelu.
152152

153153
Nebudeme vysvětlovat každý kousek kódu, vzhledem k tomu, že by trvalo příliš dlouho. Měla bys se podívat do Django dokumentace, pokud se chceš dozvědět víc o polích modelu a jak definovat jiné věci než výše uvedené (https://docs.djangoproject.com/en/1.8/ref/models/fields/#field-types).
154154

155-
Co je `def publish(self):`? Je to `publish` metoda, o které jsme mluvili dříve. `def` znamená, že definuješ funkci/metodu, a `publish` je název metody. Název metody můžeš změnit, pokud chceš. Pravidlo pro pojmenovávání je, že používáme malá písmena a podtržítka místo mezer. Například metoda, která vypočítá průměrnou cenu se bude jmenovat `calculate_average_price`.
155+
Co je `def publish(self):`? Je to `publish` metoda, o které jsme mluvili dříve. `def` znamená, že definuješ funkci/metodu, a `publish` je název metody. Název metody můžeš změnit, pokud chceš. Pravidlo pro pojmenovávání je, že používáme malá písmena a podtržítka místo mezer. Například metoda, která vypočítá průměrnou cenu, se bude jmenovat `calculate_average_price`.
156156

157-
Metody často něco `vrací/return`. Zde je příklad metoda `__str__`. V tomto případě když zavoláme metodu `__str__()` dostaneme text (**řetězec/string**) s názvem Postu.
157+
Metody často něco `vrací/return`. Zde je příklad metoda `__str__`. V tomto případě, když zavoláme metodu `__str__()`, dostaneme text (**řetězec/string**) s názvem Postu.
158158

159159
Pokud ti něco stále ještě není jasné o modelech, neváhej se zeptat svého kouče! Víme, že je to složité, zvláště, když se dozvíte, co jsou objekty a funkce takto naráz. Doufejme, že to je nyní pro tebe trochu méně magické!
160160

161161
### Vytvoření tabulek pro modely v databázi
162162

163-
V posledním kroku přidáš náš nový model do databáze. Nejprve musíme dát Djangu vědět, že mám nějaké změny v modelu (které jsme právě vytvořili!). Napiš `Python manage.py makemigrations blog`. Celý příkaz bude vypadat takto:
163+
V posledním kroku přidáš náš nový model do databáze. Nejprve musíme dát Djangu vědět, že mám nějaké změny v modelu (které jsme právě vytvořily!). Napiš `Python manage.py makemigrations blog`. Celý příkaz bude vypadat takto:
164164

165165
```
166166
(myvenv) ~/djangogirls$ python manage.py makemigrations blog
@@ -169,7 +169,7 @@ V posledním kroku přidáš náš nový model do databáze. Nejprve musíme dá
169169
- Create model Post
170170
```
171171

172-
Django pro nás připravil soubor migrace, který budeme muset aplikovat na naší databázi. Napiš `Python manage.py migrate blog` a výstup by měl vypadat takto:
172+
Django pro nás připravil soubor migrace, který budeme muset aplikovat na naši databázi. Napiš `Python manage.py migrate blog` a výstup by měl vypadat takto:
173173

174174
```
175175
(myvenv) ~/djangogirls$ python manage.py migrate blog
@@ -180,4 +180,4 @@ Django pro nás připravil soubor migrace, který budeme muset aplikovat na naš
180180
Applying blog.0001_initial... OK
181181
```
182182

183-
Hurá! Náš Post model je nyní v naší databázi! Bylo by hezké vidět ho v akci, že ano? Přeskoč na další kapitolu a koukni jak vypadá tvůj příspěvek!
183+
Hurá! Náš Post model je nyní v naší databázi! Bylo by hezké vidět ho v akci, že ano? Přeskoč na další kapitolu a podívej se, jak vypadá tvůj příspěvek!

0 commit comments

Comments
 (0)