You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Akurat to nie doda żadnych nowych plików do twojego projektu. Te dwie linijki wskazują na pliki, które istnieją w Internecie. Sprawdź sama, otwórz swoją stronę w przeglądarce internetowej, odśwież zawartość. No i proszę!
28
+
Akurat to nie doda żadnych nowych plików do Twojego projektu. Te dwie linijki wskazują na pliki, które istnieją w Internecie. Sprawdź sama, otwórz swoją stronę w przeglądarce internetowej, odśwież zawartość. No i proszę!
29
29
30
30

31
31
@@ -78,7 +78,7 @@ h1 a {
78
78
}
79
79
```
80
80
81
-
`h1` to selektor CSS. Oznacza to, że nasz styl stosujemy do wszystkich elementów `a` znajdujących się w elemencie `h1`. Czyli gdy mamy coś takiego jak `<h1><a href="">link</a></h1>`, styl `h1 a`, styl zostanie użyty. W tym przypadku nadajemy mu kolor `#FCA205`, czyli pomarańczowy. Oczywiście kolor jest dowolny!
81
+
`h1` to selektor CSS. Oznacza to, że nasz styl stosujemy do wszystkich elementów `a` znajdujących się w elemencie `h1`. Czyli gdy mamy coś takiego jak `<h1><a href="">link</a></h1>`, styl `h1 a`, styl zostanie użyty. W tym przypadku nadajemy mu kolor `#FCA205`, czyli pomarańczowy. Możesz też wybrać swój własny kolor!
82
82
83
83
W pliku CSS ustalamy styl dla elementów znajdujących się w pliku HTML. Pierwszą metodą rozpoznawania elementu jest jego nazwa. Możesz pamiętać te tagi z rozdziału o HTML. Takie rzeczy jak `a`, `h1` i `body` to wszystko przykłady nazw elementów. Elementy rozpoznajemy również po atrybutach `class` lub `id`. Nazwę klasy lub id ustalasz sama dowolnie. Ta sama nazwa klasy może być przypisana do wielu elementów, ale id musi być unikalne dla całego kodu HTML. Dla przykładu, możesz zidentyfikować następujący tag używając nazwy tagu `a`, klasy `external_link` lub po jego id `link_to_wiki_page`:
84
84
@@ -202,7 +202,7 @@ Teraz dodaj klasę `post` do Twojego `div` zawierającego post bloga:
202
202
</div>
203
203
```
204
204
205
-
A teraz dodamy bloki deklaracji do selektorów. Selektory zaczynające się od `.` odnoszą się do klas. W Internecie jest wiele wspaniałych tutoriali dotyczących CSS, które pomogą Tobie zrozumieć następujący kod. Na razie po prostu skopiuj i wklej do `blog/static/css/blog.css` poniższy kod:
205
+
A teraz dodamy bloki deklaracji do selektorów. Selektory zaczynające się od `.` odnoszą się do klas. W Internecie jest wiele wspaniałych tutoriali dotyczących CSS, które pomogą Tobie zrozumieć następujący kod. Na razie skopiuj i wklej do `blog/static/css/blog.css` poniższy kod:
Copy file name to clipboardExpand all lines: pl/deploy/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -219,4 +219,4 @@ Domyślna strona Twojej witryny powinna brzmieć "It worked!", tak jak na Twoim
219
219
220
220
Po utworzeniu kilku postów możesz wrócić do konfiguracji lokalnej (nie PythonAnywhere). Od teraz powinnaś pracować na swoim lokalnym komputerze, jeżeli będziesz chciała dokonać zmian na stronie. To częsty sposób pracy w rozwijaniu stron WWW - wprowadzaj zmiany lokalnie, wypychaj je na GitHuba i zaciągaj na swój internetowy serwer WWW. Pozwala to na pracę i eksperymentowanie bez obawy, że zepsujesz działającą stronę. Całkiem nieźle, co nie?
221
221
222
-
*Przybij piątkę!* Wdrożenia strony na serwery są jednym z najtrudniejszych elementów tworzenia stron internetowych i często ludzie potrzebują kilku dni, zanim wszystko zacznie poprawnie działać. Masz swoją witrynę na żywo, w prawdziwym Internecie, właśnie tak!
222
+
*Przybij piątkę!* Wdrożenia strony na serwery są jednym z najtrudniejszych elementów tworzenia stron internetowych i często ludzie potrzebują kilku dni, zanim wszystko zacznie poprawnie działać. Ale Tobie udało się wdrożyć swoją stronę, jest ona w prawdziwym internecie!
Copy file name to clipboardExpand all lines: pl/deploy/signup_pythonanywhere.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,6 @@ Czas utworzyć darmowe konto (opcja "Beginner" - dla początkujących) na Python
6
6
7
7
## Tworzenie tokenu PythonAnywhere API
8
8
9
-
Tę operację będziesz musiała wykonać tylko raz. Kiedy już zakończysz tworzenie konta na PythonAnywhere, zostaniesz przeniesiona do strony nawigacyjnej. Znajdź u góry na prawo link do twojego konta (ang. Account), a następnie wybierz zakładkę o nazwie "API Token" i wciśnij przycisk, który utworzy nowy token API (ang. "Create new API token").
9
+
Tę operację będziesz musiała wykonać tylko raz. Kiedy już zakończysz tworzenie konta na PythonAnywhere, zostaniesz przeniesiona do strony nawigacyjnej. Znajdź u góry na prawo link do Twojego konta (ang. Account), a następnie wybierz zakładkę o nazwie "API Token" i wciśnij przycisk, który utworzy nowy token API (ang. "Create new API token").
10
10
11
11

Copy file name to clipboardExpand all lines: pl/django/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,6 @@ Wyobraź sobie listonosza niosącego list. Idzie ulicą i porównuje każdy nume
22
22
23
23
W funkcji *widoku* dzieje się wszystko to, co najciekawsze: tutaj możemy połączyć się z bazą danych i wyszukać potrzebne nam informacje. Może użytkownik poprosił o zmianę danych? To tak, jakbyś wysłała list o treści "proszę o zmianę opisu mojego stanowiska pracy". *Widok* może sprawdzić, czy masz takie uprawnienia, a następnie dokona zmiany opisu i odeśle odpowiedź "Zrobione!". Wówczas *widok*generuje odpowiedź, a Django wysyła ją do przeglądarki użytkownika.
24
24
25
-
Oczywiście powyższy opis jest nieco uproszczony, ale znajomość niuansów technicznych nie jest Ci na razie potrzebna. Wystarczy, że zrozumiesz ogólną zasadę działania.
25
+
Powyższy opis jest nieco uproszczony, ale znajomość niuansów technicznych nie jest Ci na razie potrzebna. Wystarczy, że zrozumiesz ogólną zasadę działania.
26
26
27
-
Dlatego nie będziemy się zbyt mocno zagłębiać w szczegóły i zacznijmy po prostu budować coś w Django. Wszystkich potrzebnych rzeczy nauczymy się po drodze!
27
+
Dlatego nie będziemy się zbyt mocno zagłębiać w szczegóły i zacznijmy budować coś w Django. Wszystkich potrzebnych rzeczy nauczymy się po drodze!
Po wyświetleniu komunikatu, wpisz swoją nazwę użytkownika (małymi literami, bez spacji), adres e-mail i hasło. ** Nie martw się, że nie widzisz hasła, które wpisujesz - tak powinno być.**Po prostu wpisz je i naciśnij klawisz `Enter`, aby kontynuować. Dane wyjściowe powinny wyglądać tak (gdzie nazwa użytkownika i adres e-mail powinny być Twoje):
36
+
Po wyświetleniu komunikatu, wpisz swoją nazwę użytkownika (małymi literami, bez spacji), adres e-mail i hasło. ** Nie martw się, że nie widzisz hasła, które wpisujesz - tak powinno być.**Wpisz je i naciśnij klawisz `Enter`, aby kontynuować. Dane wyjściowe powinny wyglądać tak (gdzie nazwa użytkownika i adres e-mail powinny być Twoje):
@@ -46,7 +46,7 @@ Wróć do przeglądarki. Zaloguj się za pomocą danych logowania administratora
46
46
47
47

48
48
49
-
Przejdź do Postów i poeksperymentuj z nimi trochę. Dodaj pięć lub sześć wpisów na blogu. Nie przejmuj się zawartością - możesz po prostu skopiować i wkleić tekst z tego tutoriala, aby zaoszczędzić czas. :)
49
+
Przejdź do Postów i poeksperymentuj chwilę. Dodaj pięć czy sześć artykułów. Nie martw się ich zawartością - możesz skopiować i wkleić chociażby trochę tekstu z tego tutoriala, by zaoszczędzić czas. :)
50
50
51
51
Upewnij się, że co najmniej dwa lub trzy posty (ale nie wszystkie) mają ustawioną datę publikacji. Będzie to pomocne później.
Copy file name to clipboardExpand all lines: pl/django_forms/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ class PostForm(forms.ModelForm):
30
30
fields = ('title', 'text',)
31
31
```
32
32
33
-
Musimy najpierw zaimportować formularze Django (`from django import forms`) oraz, naturalnie, nasz model wpisu (`from .models import Post`).
33
+
Musimy najpierw zaimportować formularze Django (`from django import forms`) oraznasz model `Post` (`from .models import Post`).
34
34
35
35
`PostForm`, jak zapewne podejrzewasz, to nazwa naszego formularza. Musimy poinformować Django, że ten formularz jest formularzem modelu (`ModelForm`), dzięki czemu Django wyręczy nas w pewnych czynnościach - właśnie za to odpowiada `forms.ModelForm`.
36
36
@@ -85,7 +85,7 @@ Po dodaniu powyższej linii Twój plik HTML powinien wyglądać następująco:
85
85
</html>
86
86
```
87
87
88
-
Po zapisaniu i odświeżeniu strony http://127.0.0.1:8000 zobaczyłaś oczywiście znajomo wyglądający błąd `NoReverseMatch`, zgadza się?
88
+
Po zapisaniu i odświeżeniu strony http://127.0.0.1:8000 zobaczyłaś znajomo wyglądający błąd `NoReverseMatch`, zgadza się? OK!
89
89
90
90
## Adres URL
91
91
@@ -374,7 +374,7 @@ Jeżeli potrzebujesz więcej informacji o formularzach Django, zajrzyj do dokume
374
374
375
375
## Bezpieczeństwo
376
376
377
-
Super, że możemy tworzyć posty po prostu klikając w link! Jest niestety jeden problem - aktualnie każdy, kto odwiedzi Twoją stronę, może stworzyć nowy post. Zróbmy tak, aby przycisk był widoczny tylko dla Ciebie i nikogo innego.
377
+
Super, że możemy tworzyć posty klikając w link! Jest niestety jeden problem - aktualnie każdy, kto odwiedzi Twoją stronę, może stworzyć nowy post. Zróbmy tak, aby przycisk był widoczny tylko dla Ciebie i nikogo innego.
378
378
379
379
W `blog/templates/blog/base.html` znajdź `page-header``div` i tag <0>a</0>, który umieściliśmy tam wcześniej. Powinien wyglądać tak:
Copy file name to clipboardExpand all lines: pl/django_orm/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ Efekt powinien wyglądać tak:
26
26
>>>
27
27
```
28
28
29
-
Jesteś teraz w interaktywnej konsoli Django. Przypomina ona nieco wiersz polecenia Pythona, z odrobiną dodatkowej magii Django. :) Oczywiście możesz także używać w niej wszystkich poleceń Pythona.
29
+
Jesteś teraz w interaktywnej konsoli Django. Przypomina ona nieco wiersz polecenia Pythona, z odrobiną dodatkowej magii Django. :) Możesz także używać w niej wszystkich poleceń Pythona.
30
30
31
31
### Wszystkie obiekty
32
32
@@ -89,15 +89,15 @@ Jakich użytkowników mamy w bazie danych? Spróbuj tak:
89
89
<QuerySet [<User: ola>]>
90
90
```
91
91
92
-
To konto administratora, które stworzyłyśmy wcześniej! Teraz uzyskajmy dostęp do naszej instancji użytkownika:
92
+
To konto administratora, które stworzyłyśmy wcześniej! Teraz uzyskajmy dostęp do naszej instancji użytkownika (podmień poniższą linię, by zawierała nazwę Twojego użytkownika):
93
93
94
94
{% filename %}command-line{% endfilename %}
95
95
96
96
```python
97
97
>>> me = User.objects.get(username='ola')
98
98
```
99
99
100
-
Jak widzisz, za pomocą polecenia `get` pobrałyśmy z bazy obiekt użytkownika (`User`) z właściwością `username` o wartości 'ola'. Elegancko! Oczywiście musisz wprowadzić tam swoją nazwę użytkownika.
100
+
Jak widzisz, za pomocą polecenia `get` pobrałyśmy z bazy obiekt użytkownika (`User`) z właściwością `username` o wartości 'ola'. Elegancko!
Copy file name to clipboardExpand all lines: pl/django_urls/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Zaczynamy budować naszą pierwszą stronę internetową: będzie to miejsce dla
4
4
5
5
## Czym jest URL?
6
6
7
-
Adres URL to po prostu adres w internecie. Możesz zobaczyć URL-a za każdym razem, gdy odwiedzasz stronę internetową - jest on widoczny w pasku adresu przeglądarki internetowej. (Tak! `127.0.0.1:8000` jest adresem URL! Też `https://djangogirls.org` jest adresem URL.)
7
+
Adres URL to adres w internecie. Możesz zobaczyć URL-a za każdym razem, gdy odwiedzasz stronę internetową - jest on widoczny w pasku adresu przeglądarki internetowej. (Tak! `127.0.0.1:8000` jest adresem URL! Też `https://djangogirls.org` jest adresem URL.)
Copy file name to clipboardExpand all lines: pl/extend_your_application/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ urlpatterns = [
70
70
71
71
Część `post/<int:pk>/` określa wzorzec URL - wytłumaczymy Tobie, co to jest:
72
72
73
-
-`post/`po prostu oznacza, że adres URL powinien zaczynać się od słowa **post**, po którym nastąpi **/**. Jak na razie idzie dobrze.
73
+
-`post/` oznacza, że adres URL powinien zaczynać się od słowa **post**, po którym nastąpi **/**. Jak na razie idzie dobrze.
74
74
-`<int:pk>` - ta część jest trudniejsza. Oznacza ona, że Django spodziewa się liczby całkowitej i przekaże jej wartość do widoku jako zmienną `pk`.
75
75
-`/` - i znów potrzebujemy **/**, zanim zakończymy wzorzec URL.
76
76
@@ -80,7 +80,7 @@ OK, dodałyśmy nowy wzorzec URL do `blog/urls.py`! Odświeżmy stronę: http://
80
80
81
81

82
82
83
-
Pamiętasz, jaki jest następny krok? Oczywiście: dodanie widoku!
83
+
Pamiętasz, jaki jest następny krok? Dodanie widoku!
84
84
85
85
## Dodajmy widok dla poszczególnego wpisu
86
86
@@ -98,7 +98,7 @@ Ale ten kod ma problem. Jeśli nie istnieje żaden wpis (`Post`) z podanym `kluc
98
98
99
99

100
100
101
-
Tak nie może być! Ale oczywiście Django ma dla nas coś, co rozwiąże ten problem za nas: `get_object_or_404`. W sytuacji, gdy nie istnieje żaden wpis (`Post`) z przekazaną wartością `pk`, wyświetli znacznie przyjemniejszą stronę zwaną `Page Not Found 404` albo stroną błędu 404 - informującą, że dana strona nie została znaleziona.
101
+
Tak nie może być! Ale Django ma dla nas coś, co rozwiąże ten problem za nas: `get_object_or_404`. W sytuacji, gdy nie istnieje żaden wpis (`Post`) z przekazaną wartością `pk`, wyświetli znacznie przyjemniejszą stronę zwaną `Page Not Found 404` albo stroną błędu 404 - informującą, że dana strona nie została znaleziona.
Copy file name to clipboardExpand all lines: pl/how_the_internet_works/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
7
7
Możemy się założyć, że używasz go każdego dnia. Ale czy naprawdę wiesz, co się dzieje, gdy wpisujesz w przeglądarce adres https://djangogirls.org i wciskasz `enter`?
8
8
9
-
Aby zrozumieć, jak działa internet, powinnaś najpierw dowiedzieć się, czym tak naprawdę jest strona internetowa - a jest ona tylko zbiorem plików zapisanych na dysku twardym. Tak samo jak Twoje zdjęcia, muzyka czy filmy. Aczkolwiek strony internetowe różnią się od nich tym, że zawierają kod komputerowy zwany HTML.
9
+
Aby zrozumieć, jak działa internet, powinnaś najpierw dowiedzieć się, czym tak naprawdę jest strona internetowa - a jest ona zbiorem plików zapisanych na dysku twardym. Tak samo jak Twoje zdjęcia, muzyka czy filmy. Aczkolwiek strony internetowe różnią się od nich tym, że zawierają kod komputerowy zwany HTML.
10
10
11
11
Jeśli nie miałaś wcześniej do czynienia z programowaniem, może być Ci na początku trudno zrozumieć HTML, ale przeglądarki internetowe (takie jak Chrome, Safari, Firefox itd.) uwielbiają go. Zostały one zaprojektowane po to, by czytać ten kod, przetwarzać go i postępować zgodnie z jego instrukcjami. Prezentują pliki, z których składa się Twoja strona - by wyglądała dokładnie tak jak Ty chcesz.
12
12
@@ -22,7 +22,7 @@ Wygląda dość chaotycznie, prawda? W rzeczywistości jest to sieć połączony
22
22
23
23

24
24
25
-
To fascynujące, prawda? Ale oczywiście niemożliwe jest stworzenie bezpośredniego połączenia kablowego między każdym komputerem w internecie. Więc aby dostać się do maszyny dostępnej w internecie (na przykład tej, na której zapisane jest https://djangogirls.org), potrzebujemy wykonać zapytanie przechodzące przez wiele, wiele różnych maszyn.
25
+
To fascynujące, prawda? Ale niemożliwe jest stworzenie bezpośredniego połączenia kablowego między każdym komputerem w internecie. Więc aby dostać się do maszyny dostępnej w internecie (na przykład tej, na której zapisane jest https://djangogirls.org), potrzebujemy wykonać zapytanie przechodzące przez wiele, wiele różnych maszyn.
26
26
27
27
Wygląda to tak:
28
28
@@ -34,7 +34,7 @@ List trafia do urzędu pocztowego najbliżej Ciebie. Potem idzie do drugiego urz
34
34
35
35

36
36
37
-
Właśnie tak to działa - wysyłasz wiadomości i oczekujesz jakiejś odpowiedzi. Oczywście, zamiast papieru i długopisu używasz bitów danych, ale koncepcja jest dokładnie taka sama!
37
+
Właśnie tak to działa - wysyłasz wiadomości i oczekujesz jakiejś odpowiedzi. Zamiast papieru i długopisu używasz bitów danych, ale koncepcja jest dokładnie taka sama!
38
38
39
39
Zamiast adresów z nazwą ulicy, miastem, kodem pocztowym oraz nazwą kraju, używa się adresów IP. Twój komputer najpierw pyta serwera DNS (system nazw domenowych, ang. DNS - Domain Name System) o przetłumaczenie djangogirls.org na adres IP. Działa to podobnie do dawnych książek telefonicznych, w których mogłaś poszukać adresu czy numeru po nazwisku osoby, z którą chciałaś się skontaktować.
0 commit comments