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
Copy file name to clipboardExpand all lines: de/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
@@ -34,7 +34,7 @@ Okay, [lass uns ganz am Anfang starten...](./how_the_internet_works/README.md)
34
34
35
35
## Das Tutorial daheim durcharbeiten
36
36
37
-
An einem Django-Girls-Workshop teilzunehmen ist toll, aber uns ist klar, dass das nicht immer allen möglich ist. Darum wollen wir dich ermutigen, das Tutorial zu Hause nachzuarbeiten. Für Leser zu Hause arbeiten wir gerade an Video-Tutorials, die es erleichtern sollen, diesem Tutorial zu folgen. Diese Arbeit ist noch nicht abgeschlossen, aber mehr und mehr Themen werden als Video erfasst und können im [Coding is for girls](https://www.youtube.com/channel/UC0hNd2uW8jTR5K3KBzRuG2A/feed)-YouTube-Kanal angesehen werden.
37
+
An einem Django-Girls-Workshop teilzunehmen ist toll, aber uns ist klar, dass das nicht immer allen möglich ist. Darum wollen wir dich ermutigen, das Tutorial auch zu Hause zu erarbeiten. Für Leser zu Hause erstellen wir gerade Video-Tutorials, die es erleichtern sollen, diesem Tutorial zu folgen. Diese Arbeit ist noch nicht abgeschlossen, aber mehr und mehr Themen werden als Video erfasst und können im [Coding is for girls](https://www.youtube.com/channel/UC0hNd2uW8jTR5K3KBzRuG2A/feed)-YouTube-Kanal angesehen werden.
38
38
39
39
In jedem Kapitel, das bereits mit Video unterstützt wird, gibt es einen Link auf das jeweilige Video dazu.
Copy file name to clipboardExpand all lines: de/chromebook_setup/instructions.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
@@ -22,7 +22,7 @@ Der untere Bereich ist dein *Terminal*, wo du Kommandos für den Computer eingeb
22
22
23
23
### Virtuelle Umgebung
24
24
25
-
Eine virtuelle Umgebung (auch virtualenv genannt) ist wie ein privater Behälter, in den wir nützlichen Code für ein Projekt packen können, an dem wir arbeiten. Wir benutzen diese, um Code für verschiedene Projekte getrennt aufzubewahren, damit diese nicht vermischt werden.
25
+
Eine virtuelle Umgebung (auch virtualenv genannt) ist wie ein privater Behälter, in den wir nützlichen Code für ein Projekt packen können, an dem wir arbeiten. Wir benutzen sie, um Code für verschiedene Projekte getrennt aufzubewahren, damit dieser nicht vermischt wird.
26
26
27
27
Führe im Terminal den folgenden Code aus (das Terminal befindet sich am unteren Rand des Cloud 9-Interfaces):
Copy file name to clipboardExpand all lines: de/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
@@ -8,4 +8,4 @@ Erstelle dir einen kostenfreien "Beginner"-Account auf PythonAnywhere:
8
8
9
9
Das musst du nur einmal durchführen. Sobald du dich für PythonAnywhere angemeldet hast, wirst du zu deinem Dashboard weitergeleitet. Finde den Link zu deiner "Account"-Seite rechts oben und wähle den Reiter mit dem Namen "API Token" aus. Dann musst du den Button mit dem Titel "Create a new API token" auswählen.
10
10
11
-

11
+

Copy file name to clipboardExpand all lines: de/django_urls/README.md
+16-13Lines changed: 16 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Eine URL ist einfach eine Web-Adresse. Jedes Mal, wenn du eine Website besuchst,
8
8
9
9

10
10
11
-
Jede Seite im Internet braucht ihre eigene URL. Dadurch weiß deine Applikation, was sie dem Nutzer, der eine URL öffnet, zeigen soll. In Django verwenden wir eine sogenannte `URLconf` (URL-Konfiguration). URLconf ist eine Ansammlung von Mustern, die Django mit der empfangenen URL abgleicht, um die richtige View zu finden, das heißt, um letztlich die richtige Seite für den Nutzer anzuzeigen.
11
+
Jede Seite im Internet braucht ihre eigene URL. Dadurch weiß deine Applikation, was sie dem Nutzer, der eine URL öffnet, zeigen soll. In Django verwenden wir eine sogenannte `URLconf` (URL-Konfiguration). URLconf ist eine Ansammlung von Mustern, die Django mit der empfangenen URL abgleicht, um die richtige View zu finden, das heißt, um letztlich die richtige Seite für den Nutzer anzuzeigen.
12
12
13
13
## Wie funktionieren URLs in Django?
14
14
@@ -18,10 +18,13 @@ Jede Seite im Internet braucht ihre eigene URL. Dadurch weiß deine Applikation,
18
18
19
19
```python
20
20
"""mysite URL Configuration
21
+
21
22
[...]
22
-
"""
23
+
"""
23
24
from django.urls import path, include
24
-
from django.contrib import admin urlpatterns = [
25
+
from django.contrib import admin
26
+
27
+
urlpatterns = [
25
28
path('admin/', admin.site.urls),
26
29
]
27
30
```
@@ -38,7 +41,7 @@ Die admin-URL, die du im vorangegangenen Kapitel bereits besucht hast, ist schon
38
41
path('admin/', admin.site.urls),
39
42
```
40
43
41
-
Diese Zeile bedeutet, dass für jede URL, die mit `admin/` beginnt, Django die entsprechende *View* finden wird. Hier wurden einige admin-URLs eingefügt, dadurch wird nicht alles in eine Datei gepackt - es bleibt lesbarer und sauberer.
44
+
Diese Zeile bedeutet, dass Django für jede URL, die mit `admin/` beginnt, die entsprechende *View* finden wird. Hier wird mit admin-site.urls eine ganze Sammlung von admin-URLs referenziert. Dadurch müssen nicht alle in dieser kleinen Datei aufgeführt werden und sie bleibt lesbarer und übersichtlicher.
42
45
43
46
## Deine erste Django-URL!
44
47
@@ -54,11 +57,11 @@ Deine `mysite/urls.py`-Datei sollte jetzt so aussehen:
54
57
55
58
```python
56
59
from django.urls import path, include
57
-
from django.contrib import admin
60
+
from django.contrib import admin
58
61
59
62
urlpatterns = [
60
63
path('admin/', admin.site.urls),
61
-
path('', include('blog.urls')),
64
+
path('', include('blog.urls')),
62
65
]
63
66
```
64
67
@@ -75,26 +78,26 @@ from django.urls import path
75
78
from . import views
76
79
```
77
80
78
-
Hier importieren wir erstmal nur die Methoden von Djangound alles aus den `views` unserer `blog`-Applikation (wir haben noch keine, aber dazu kommen wir gleich!).
81
+
Hier importieren wir die Django-Funktion `path`und alle unsere `views`aus unserer `blog`-Applikation. (Wir haben noch keine, aber dazu kommen wir gleich!)
79
82
80
-
Jetzt können wir unser erstes URL-Pattern hinzufügen:
83
+
Jetzt können wir unser erstes URL-Muster hinzufügen:
81
84
82
85
{% filename %}blog/urls.py{% endfilename %}
83
86
84
87
```python
85
88
urlpatterns = [
86
-
path('', views.post_list, name='post_list'),
89
+
path('', views.post_list, name='post_list'),
87
90
]
88
91
```
89
92
90
-
Wie du siehst, fügen wir nun eine `view` mit dem Namen `post_list` zur Root-URL hinzu. Dieses URL-Muster (' ') wird mit einer leeren Zeichenfolge übereinstimmen und der Django-URL-Resolver ignoriert den Domain-Namen (z.B. http://127.0.0.1:8000/), der im vollständigen Pfad voransteht. Wenn alsojemand deine Website mit der Adresse 'http://127.0.0.1:8000/' aufruft, passt dieses Muster (leere Zeichenkette) und Django weiß so, dass `views.post_list` das gewünschte Ziel ist.
93
+
Wie du siehst, fügen wir nun eine `view` mit dem Namen `post_list` zur Root-URL hinzu. Leeren Zeichenfolgen passen auf dieses Muster und der Django-URL-Resolver ignoriert den Domain-Namen (z.B. http://127.0.0.1:8000/), der im vollständigen Pfad voransteht. Dieses Muster sagt Django also, dass `views.post_list` das gewünschte Ziel ist, wenn jemand deine Website über 'http://127.0.0.1:8000/' aufruft.
91
94
92
-
Der letzte Teil `name='post_list'` ist der Name der URL, der genutzt wird, die View zu identifizieren. Er kann identisch mit dem Namen der View sein, aber es kann auch ein komplett anderer sein. Wir werden später die Namen der URLs in dem Projekt benutzen, daher ist es wichtig, jede URL in der App zu benennen. Wir sollten außerdem versuchen, solche Namen für URLs zu wählen, die einzigartig und einfach zu merken sind.
95
+
Der letzte Teil `name='post_list'` ist der Name der URL, der genutzt wird, um die View zu identifizieren. Er kann identisch mit dem Namen der View sein, aber es kann auch ein komplett anderer sein. Wir werden später die Namen der URLs im Projekt benutzen. Daher ist es wichtig, jede URL in der App zu benennen. Wir sollten außerdem versuchen, einzigartige und einfach zu merkende URL-Namen zu wählen.
93
96
94
-
Wenn du jetzt versuchst, http://127.0.0.1:8000/ aufzurufen, dann erscheint eine Meldung der Art: "Webseite nicht verfügbar". Das erscheint deshalb, weil der Server (hast du `runserver` eingegeben?) nicht mehr läuft. Schau mal in deiner Server-Konsole nach und finde heraus, was passiert ist.
97
+
Wenn du jetzt versuchst, http://127.0.0.1:8000/ aufzurufen, dann erscheint eine Meldung der Art "Webseite nicht verfügbar". Das erscheint deshalb, weil der Server nicht mehr läuft. (Erinnerst du dich noch, `runserver` eingegeben zu haben?) Schau mal in deiner Server-Konsole nach und finde heraus, warum der Server nicht mehr läuft.
95
98
96
99

97
100
98
-
Die Konsole zeigt einen Fehler, aber keine Sorge – das ist eigentlich ziemlich nützlich: das sagt dir, dass **kein Attribut 'post_list'** vorhanden ist. Das ist der Name der *View*, die Django versucht zu finden und zu verwenden, aber wir haben sie noch gar nicht erstellt. An dieser Stelle wird dein `/admin/` auch nicht funktionieren. Keine Sorge, das machen wir gleich.
101
+
Die Konsole zeigt einen Fehler, aber keine Sorge – der ist eigentlich ziemlich nützlich: Er sagt dir, dass **kein Attribut 'post_list'** vorhanden ist. Das ist der Name der *View*, die Django zu finden und zu verwenden versucht, aber wir haben sie noch gar nicht erstellt. In diesem Zustand wird dein `/admin/` auch nicht funktionieren. Keine Sorge, das regeln wir gleich.
99
102
100
103
> Wenn du mehr über Django-URLconfs lernen willst, dann öffne die offizielle Dokumentation: https://docs.djangoproject.com/en/2.0/topics/http/urls/
Copy file name to clipboardExpand all lines: de/installation/README.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,16 @@
1
-
# Wenn Du dieses Tutorial zu Hause bearbeitest
1
+
# Wenn du dieses Tutorial zu Hause bearbeitest
2
2
3
-
Wenn Du das Tutorial zu Hause bearbeitest, und nicht auf einer der ["Django Girls"-Veranstaltungen](https://djangogirls.org/events/), kannst du dieses Kapitel komplett überspringen und direkt mit dem Kapitel [Wie funktioniert das Internet?](../how_the_internet_works/README.md) fortfahren.
3
+
Wenn du das Tutorial zu Hause bearbeitest, und nicht auf einer der ["Django Girls"-Veranstaltungen](https://djangogirls.org/events/), kannst du dieses Kapitel komplett überspringen und direkt mit dem Kapitel [Wie funktioniert das Internet?](../how_the_internet_works/README.md) fortfahren.
4
4
5
5
Wir werden die folgenden Punkte so oder so im vollständigen Tutorial betrachten. Das hier ist nur eine zusätzliche Seite, die alle Installationsanleitungen an einem Ort bündelt. Die "Django Girls"-Veranstaltung enthält einen "Installationsabend", an dem wir alles installieren, was wir brauchen. So müssen wir uns während des Workshops nicht damit beschäftigen. Diese Seite ist dafür sehr hilfreich.
6
6
7
-
Wenn es Dir sinnvoll erscheint, kannst du dieses Kapitel natürlich auch bearbeiten. Wenn Du jedoch mit dem Lernen beginnen willst, bevor du eine handvoll Sachen auf deinem Computer installierst, überspringe dieses Kapitel und lies unsere Erklärungen zur Installation später im Tutorial.
7
+
Wenn es dir sinnvoll erscheint, kannst du dieses Kapitel natürlich auch bearbeiten. Wenn du jedoch mit dem Lernen beginnen willst, bevor du eine handvoll Sachen auf deinem Computer installierst, überspringe dieses Kapitel und lies unsere Erklärungen zur Installation später im Tutorial.
8
8
9
9
Viel Erfolg!
10
10
11
11
# Installation
12
12
13
-
Im Workshop wirst Du einen Blog erstellen und es gibt einige Dinge, bei denen es besser ist, wenn Du sie vorher vorbereitest, so dass Du gleich mit dem Programmieren loslegen kannst.
13
+
Im Workshop wirst du einen Blog erstellen und es gibt einige Dinge, bei denen es besser ist, wenn du sie vorher vorbereitest, so dass du dann gleich mit dem Programmieren loslegen kannst.
14
14
15
15
<!--sec data-title="Chromebook setup (if you're using one)"
16
16
data-id="chromebook_setup" data-collapse=true ces--> {% include "/chromebook_setup/instructions.md" %}
@@ -21,14 +21,14 @@ data-id="chromebook_setup" data-collapse=true ces--> {% include "/chromebook_set
21
21
22
22
{% include "/python_installation/instructions.md" %}
23
23
24
-
# Virtualenv einrichten und Django installieren
25
-
26
-
{% include "/django_installation/instructions.md" %}
27
-
28
24
# Einen Code-Editor installieren
29
25
30
26
{% include "/code_editor/instructions.md" %}
31
27
28
+
# Virtualenv einrichten und Django installieren
29
+
30
+
{% include "/django_installation/instructions.md" %}
31
+
32
32
# Git installieren
33
33
34
34
{% include "/deploy/install_git.md" %}
@@ -43,7 +43,7 @@ Gehe auf [GitHub.com](https://www.github.com) eröffne ein neues, kostenloses Ko
43
43
44
44
# Fang an zu lesen!
45
45
46
-
Herzlichen Glückwunsch, Du hast alles eingerichtet und bist nun bereit, loszulegen. Wenn Du vor dem Workshop noch etwas Zeit hast, wäre es hilfreich, einige der einführenden Kapitel zu lesen:
46
+
Herzlichen Glückwunsch, du hast alles eingerichtet und bist nun bereit loszulegen! Wenn du vor dem Workshop noch etwas Zeit hast, wäre es hilfreich, einige der einführenden Kapitel zu lesen:
47
47
48
48
*[Wie funktioniert das Internet?](../how_the_internet_works/README.md)
49
49
@@ -55,4 +55,4 @@ Herzlichen Glückwunsch, Du hast alles eingerichtet und bist nun bereit, loszule
55
55
56
56
# Viel Spaß beim Workshop!
57
57
58
-
Wenn Du mit dem Workshop anfängst, kannst Du direkt zum Kapitel [Dein erstes Django-Projekt!](../django_start_project/README.md) gehen, weil Du den Inhalt der vorhergehenden Kapitel schon bearbeitet hast.
58
+
Wenn du mit dem Workshop anfängst, kannst du direkt zum Kapitel [Dein erstes Django-Projekt!](../django_start_project/README.md) gehen, weil du den Inhalt der vorhergehenden Kapitel schon bearbeitet hast.
Copy file name to clipboardExpand all lines: de/python_installation/instructions.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
@@ -2,7 +2,7 @@
2
2
>
3
3
> Dieses Kapital basiert auf einem Tutorial der Geek Girls Carrots (https://github.com/ggcarrots/django-carrots).
4
4
5
-
Django ist in Python geschrieben. Um mit Django zu arbeiten, müssen wir also erst Python installieren. Lass uns das also zuerst tun! Für das Tutorial brauchen wir Python 3.6, falls du eine Vorgängerversion benutzt aktualisiere diese bitte.
5
+
Django ist in Python geschrieben. Um mit Django zu arbeiten, müssen wir also erst Python installieren. Lass uns das also zunächst tun! Für das Tutorial brauchen wir Python 3.6, falls du eine Vorgängerversion benutzt, aktualisiere diese bitte.
Copy file name to clipboardExpand all lines: de/template_extending/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
@@ -104,7 +104,7 @@ Speichere nun die Datei `base.html` und öffne wieder `blog/templates/blog/post_
104
104
105
105
Dieser Teil unseres Templates soll nun das Basis-Template erweitern. Wir müssen daher Block-Tags ergänzen!
106
106
107
-
{% raw %}Deine Block-Tags müssen mit den Tags in der `base.html`-Datei übereinstimmen. Du möchtest auch, dass der ganze Code dieser Datei mit eingeschlossen wird. Um das zu erreichen, umschließt du ihn mit `{% block content %}` und `{% endblock %}`. So hier:{% endraw %}
107
+
{% raw %}Deine Block-Tags müssen mit den Tags in der `base.html`-Datei übereinstimmen. Stelle sicher, dass die Block-Tags den ganzen Code deines content-Blocks umschließen. Um das zu erreichen, umschließt du ihn mit `{% block content %}` und `{% endblock %}`. So hier:{% endraw %}
@@ -122,7 +122,7 @@ Dieser Teil unseres Templates soll nun das Basis-Template erweitern. Wir müssen
122
122
{% endblock %}
123
123
```
124
124
125
-
Nur eine Sache noch. Wir müssen die beiden Templates natürlich miteinander verknüpfen. Darum geht es ja bei der Template-Erweiterung! Dafür ergänzen wir einen Tag für Erweiterung (extends tag) ganz oben in der Datei. So hier:
125
+
Nur eine Sache noch. Wir müssen die beiden Templates miteinander verknüpfen. Darum geht es ja bei der Template-Erweiterung! Dafür ergänzen wir einen Tag für Erweiterung (extends tag) ganz oben in der Datei. Und zwar so:
@@ -144,4 +144,4 @@ Nur eine Sache noch. Wir müssen die beiden Templates natürlich miteinander ver
144
144
145
145
Das war's! Probier aus, ob deine Website noch richtig funktioniert. :)
146
146
147
-
> Wenn du einen Fehler `TemplateDoesNotExist` erhältst, dann heißt das, es gibt keine `blog/base.html`Datei und `runserver`läuft in der Konsole. Halte ihn an (durch Drücken von Ctrl+C – Control und die C Taste gleichzeitig) und starte ihn neu, in dem du den Befehl `python manage.py runserver` ausführst.
147
+
> Wenn du einen Fehler `TemplateDoesNotExist` erhältst, dann heißt das, dass es gibt die Datei `blog/base.html`nicht gibt und dass `runserver` in der Konsole läuft. Halte ihn an (durch Drücken von Ctrl+C – Control und die C Taste gleichzeitig) und starte ihn neu, in dem du den Befehl `python manage.py runserver` ausführst.
0 commit comments