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
@@ -88,7 +88,7 @@ In einer CSS-Datei werden Stile für Elemente der HTML-Datei festgelegt. Ein Weg
88
88
89
89
[Auf w3schools](http://www.w3schools.com/cssref/css_selectors.asp) erfährst du mehr über CSS-Selektoren.
90
90
91
-
Wir müssen der HTML-Vorlage noch sagen, dass wir CSS eingefügt haben. Öffne die Datei `blog/templates/blog/post_list.html` und füge diese Zeile ganz oben ein:
91
+
Wir müssen der HTML-Vorlage noch sagen, dass wir CSS eingefügt haben. Öffne die Datei `blog/templates/blog/post_list.html`im Code-Editor und füge diese Zeile ganz oben ein:
Copy file name to clipboardExpand all lines: de/deploy/README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,8 +27,8 @@ Git verwaltet die Veränderungen an einer Sammlung von Dateien in einem sogenann
27
27
$ git init
28
28
Initialized empty Git repository in ~/djangogirls/.git/
29
29
$ git config --global user.name "Dein Name"
30
-
$ git config --global user.email du@beispiel.com
31
-
30
+
$ git config --global user.email du@example.com
31
+
32
32
33
33
Die Initialisierung des Git-Repositorys müssen wir für jedes Projekt nur einmal machen (danach musst Du Benutzernamen und Mail-Adresse nie wieder eingeben).
34
34
@@ -95,13 +95,13 @@ Erstelle dann ein neues Repository und gib ihm den Namen "my-first-blog". Lass d
95
95
96
96
> **Achtung:** Der Name `my-first-blog` ist wichtig -- du kannst auch einen anderen wählen, aber er wird im Folgenden noch sehr oft vorkommen und du wirst immer daran denken müssen, ihn in den Anweisungen entsprechend anzupassen. Es ist wahrscheinlich einfacher, bei `my-first-blog` zu bleiben.
97
97
98
-
Auf der nächsten Seite wird dir die Clone-URL deines Repos angezeigt. Nimm die HTTPS-Variante, kopiere sie, damit wir sie dann gleich in die Konsole einfügen können:
98
+
In der nächsten Ansicht wirst du die clone-URL deines Repositorys sehen, die du in manchen der folgenden Kommandozeilenbefehlen verwenden wirst:
99
99
100
100

101
101
102
102
Nun müssen wir das Git-Repository auf deinem Computer mit dem auf GitHub verbinden.
103
103
104
-
Gib Folgendes in deine Konsole ein (ersetze dabei `<your-github-username>`durch deinen Benutzernamen, den du bei der Erstellung deines GitHub-Kontos benutzt hast, aber ohne die eckigen Klammern):
104
+
Gib das Folgende auf der Kommandozeile ein (ersetzte `<your-github-username>`mit dem Benutzernamen, den du beim Erstellen deines GitHub-Accounts gewählt hast, aber ohne die spitzen Klammern -- die URL sollte der clone-URL entsprechen, die du vorhin gerade gesehen hast):
105
105
106
106
{% filename %}command-line{% endfilename %}
107
107
@@ -153,7 +153,7 @@ Um eine Web App auf PythonAnywhere publizieren zu können, muss dein Code von Gi
153
153
154
154
Nach diesem Befehl solltest du in etwa Folgendes sehen: `Collecting pythonanywhere`, und irgendwann den Schluss `Successfully installed (...) pythonanywhere- (...)`.
155
155
156
-
Nun können wir mit dem Hilfstool unsere App von GitHub automatisch konfigurieren. Tippe das Folgende in die Konsole auf PythonAnywhere (vergiss nicht deinen GitHub-Benutzernamen an Stelle von `<your-github-username>` zu benutzen):
156
+
Nun können wir mit dem Hilfstool unsere App von GitHub automatisch konfigurieren. Gib das Folgende in der Konsole auf PythonAnywhere ein (vergiss nicht, deinen GitHub-Benutzernamen an Stelle von `<your-github-username>` zu benutzen, so dass die URL der clone-URL von GitHub entspricht):
@@ -191,11 +191,11 @@ Nun kannst auch einen Blick auf deinen Code auf PythonAnywhere werfen mittels `l
191
191
templates tests.py urls.py views.py
192
192
193
193
194
-
Du kannst auch über den "Files"-Tab mit dem PythonAnywhere Built-in File Browser navigieren.
194
+
Du kannst auch auf die "Files"-Seite gehen und mit PythonAnywheres eingebautem Datei-Manager navigieren. (Von der "Console"-Seite gelangst über das Menü in der rechten oberen Ecke zu anderen PythonAnywhere-Seiten. Sobald du auf einer dieser Seiten bist, findest du die Links zu den anderen Seiten oben über dem Seiteninhalt.)
195
195
196
196
## Du bist jetzt live!
197
197
198
-
Nun ist deine Site also live im öffentlichen Internet! Klick dich bis zum PythonAnywhere "Web"-Tab durch und hole dir den Link. Teile ihn so oft du willst :)
198
+
Nun ist deine Site also live im öffentlichen Internet! Klick dich zur PythonAnywhere "Web"-Seite durch und hole dir den Link. Teile ihn, so oft du willst :)
199
199
200
200
> **Hinweis:** Da es sich hier um ein Anfänger-Tutorial handelt, haben wir ein paar Abkürzungen genommen, um die Site zu veröffentlichen, welche sicherheitstechnisch nicht ideal sind. Fall du dich entscheidest, dieses Projekt weiterzubauen oder ein neues Projekt anzufangen, dann solltest du die [Django deployment checklist](https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/) durchgehen, um einige Tipps zur Absicherung deiner Seite zu erhalten.
201
201
@@ -207,7 +207,7 @@ Solltest du beim Ausführen des `pa_autoconfigure_django.py` Skripts eine Fehler
207
207
- Du hast in deiner GitHub-URL einen Fehler gemacht.
208
208
- Falls du die Fehlermeldung *"Could not find your settings.py"* erhältst, liegt das wahrscheinlich daran, dass du nicht alle Files zum Git hinzugefügt und/oder diese nicht erfolgreich auf GitHub veröffentlicht hast. Schau dir nochmals den Git-Abschnitt weiter oben an.
209
209
210
-
Falls du eine Fehlermeldung erhältst, wenn du versuchst deine Site aufzurufen, solltest du als erstes die DebuggingInformationen im **error log** anschauen. Den Link dazu findest du über den PythonAnywhere[Web Tab](https://www.pythonanywhere.com/web_app_setup/). Schau nach, ob darin Fehlermeldungen enthalten sind; die neuesten findest du ganz unten.
210
+
Falls du eine Fehlermeldung erhältst, wenn du versuchst, deine Site aufzurufen, solltest du als Erstes die Debugging-Informationen im **error log** anschauen. Den Link dazu findest du über [die PythonAnywhere-Seite "Web"](https://www.pythonanywhere.com/web_app_setup/). Schau nach, ob darin Fehlermeldungen enthalten sind; die neuesten findest du ganz unten.
211
211
212
212
Du findest einige [Allgemeine Debugging Tipps im PythonAnywhere Wiki](http://help.pythonanywhere.com/pages/DebuggingImportError).
Erstelle dir einen kostenfreien "Beginner"-Account auf PythonAnywhere:
1
+
PythonAnywhere ist ein Dienst, mittels dem Python auf Servern "in der Cloud" ausgeführt werden kann. Wir werden ihn verwenden, um unsere Seite zu hosten, live und im Internet.
2
+
3
+
Registriere ein "Beginner"-Benutzerkonto auf PythonAnywhere (die kostenlose Variante genügt völlig, du brauchst also keine Kreditkarte).

8
+
5
9
> **Hinweis** Wenn du dort deinen Benutzernamen aussuchst, dann denke daran, dass sich die URL zu deinem Blog aus deinem Benutzernamen und pythonanywhere zusammensetzt zu: `deinBenutzerName.pythonanywhere.com.` Deshalb solltest du einen sinnvollen Nutzernamen wählen.
6
10
7
11
## Erstellen eines PythonAnywhere API-Tokens
8
12
9
13
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
14
11
-

15
+

@@ -89,7 +89,7 @@ Nach dem Speichern und Neuladen von http://127.0.0.1:8000 solltest du den bereit
89
89
90
90
## URL
91
91
92
-
Wir öffnen `blog/urls.py` und fügen eine Zeile hinzu:
92
+
Wir öffnen `blog/urls.py`im Code-Editor und fügen eine Zeile hinzu:
93
93
94
94
{% filename %}blog/urls.py{% endfilename %}
95
95
@@ -115,7 +115,7 @@ Nach dem Neuladen der Site sehen wir einen `AttributeError`, weil wir noch keine
115
115
116
116
## Die post_new-View
117
117
118
-
Jetzt wird es Zeit, die `blog/views.py`Datei zu öffnen und die folgenden Zeilen zu den anderen `from`-Zeilen hinzuzufügen:
118
+
Jetzt wird es Zeit, die Datei `blog/views.py`im Code-Editor zu öffnen und die folgenden Zeilen zu den anderen `from`Zeilen hinzuzufügen:
119
119
120
120
{% filename %}blog/views.py{% endfilename %}
121
121
@@ -137,7 +137,7 @@ Um ein neues `PostForm` zu erstellen, rufen wir `PostForm()` auf und übergeben
137
137
138
138
## Template
139
139
140
-
Wir müssen eine Datei `post_edit.html` im Verzeichnis `blog/templates/blog` erstellen. Damit ein Formular funktioniert, benötigen wir einige Dinge:
140
+
Wir müssen eine Datei `post_edit.html` im Verzeichnis `blog/templates/blog` erstellen und im Code-Editor öffnen. Damit ein Formular funktioniert, benötigen wir einige Dinge:
141
141
142
142
* Wir müssen das Formular anzeigen. Wir können das zum Beispiel mit einem einfachen `{{ form.as_p }}` tun.
143
143
* Die Zeile oben muss von einem HTML-Formular-Tag eingeschlossen werden `<form method="POST">...</form>`.
@@ -174,7 +174,7 @@ Die Antwort ist: nichts. Wir müssen einfach noch etwas mehr Arbeit in unsere *V
174
174
175
175
## Speichern des Formulars
176
176
177
-
Öffne `blog/views.py` erneut. Derzeit ist alles, was wir in der View `post_new` haben, das hier:
177
+
Öffne `blog/views.py` erneut im Code-Editor. Derzeit ist alles, was wir in der View `post_new` haben, das hier:
178
178
179
179
{% filename %}blog/views.py{% endfilename %}
180
180
@@ -282,7 +282,7 @@ Django kümmert sich darum sicherzustellen, dass alle Felder in unserem Formular
282
282
283
283
Jetzt wissen wir, wie ein neues Formular hinzugefügt wird. Aber was ist, wenn wir ein bereits bestehendes bearbeiten wollen? Das funktioniert so ähnlich wie das, was wir gerade getan haben. Lass uns schnell ein paar wichtige Dinge kreieren. (Falls du etwas nicht verstehst, solltest du deinen Coach fragen oder in den vorherigen Kapiteln nachschlagen, da wir all die Schritte bereits behandelt haben.)
284
284
285
-
Öffne `blog/templates/blog/post_detail.html` und füge folgende Zeile hinzu
285
+
Öffne `blog/templates/blog/post_detail.html`im Code-Editor und füge folgende Zeile hinzu:
@@ -311,7 +311,7 @@ damit die Vorlage so aussieht:
311
311
{% endblock %}
312
312
```
313
313
314
-
In`blog/urls.py`fügen wir folgende Zeile ein:
314
+
Öffne`blog/urls.py`im Code-Editor und fügen diese Zeile hinzu:
315
315
316
316
{% filename %}blog/urls.py{% endfilename %}
317
317
@@ -321,7 +321,7 @@ In `blog/urls.py` fügen wir folgende Zeile ein:
321
321
322
322
Wir werden die Vorlage `blog/templates/blog/post_edit.html` wiederverwenden, daher ist das einzig Fehlende eine neue *View*.
323
323
324
-
Öffne `blog/views.py` und füge ganz am Ende der Datei Folgendes hinzu:
324
+
Öffne `blog/views.py`im Code-Editor und füge ganz am Ende der Datei Folgendes hinzu:
325
325
326
326
{% filename %}blog/views.py{% endfilename %}
327
327
@@ -373,9 +373,9 @@ Falls du mehr Informationen über Django-Formulare benötigst, solltest du die o
373
373
374
374
## Sicherheit
375
375
376
-
Neue Posts mit einem Linkklick zu erstellen, ist großartig! Aber im Moment ist jeder, der deine Seite besucht in der Lage, einen neuen Blogpost zu veröffentlichen und das ist etwas, was du garantiert nicht willst. Lasst es uns so machen, dass der Button für dich angezeigt wird, aber für niemanden sonst.
376
+
Neue Posts mit einem Linkklick zu erstellen, ist großartig! Aber im Moment ist jeder, der deine Seite besucht in der Lage, einen neuen Blogpost zu veröffentlichen und das ist etwas, was du garantiert nicht willst. Lass es uns so machen, dass der Button für dich angezeigt wird, aber für niemanden sonst.
377
377
378
-
Finde in der Datei `blog/templates/blog/base.html` unseren `page-header``div` und das Anchor-Tag, welches du zuvor eingefügt hast. Es sollte so aussehen:
378
+
Öffne die Datei `blog/templates/blog/base.html` im Code-Editor, finde darin unseren `page-header``div` und das Anchor-Tag, welches du zuvor eingefügt hast. Es sollte so aussehen:
@@ -397,7 +397,7 @@ Dieses `{% if %}` sorgt dafür, dass der Link nur zu dem Browser geschickt wird,
397
397
398
398
Erinnerst du dich an den Editier-Button, den wir gerade zu unserer Seite hinzugefügt haben? Wir wollen dort dieselbe Anpassung machen, damit andere Leute keine existierenden Posts verändern können.
399
399
400
-
Öffne `blog/templates/blog/post_detail.html` und finde folgende Zeile:
400
+
Öffne `blog/templates/blog/post_detail.html`im Code-Editor und finde folgende Zeile:
@@ -443,6 +443,6 @@ Mal sehen, ob das alles auch auf PythonAnywhere funktioniert. Zeit für ein weit
443
443
444
444
(Denke daran, `<your-pythonanywhere-username>` durch deinen PythonAnywhere-Benutzernamen zu ersetzen - ohne spitze Klammern).
445
445
446
-
*Springe nun noch schnell auf den [Web-Tab](https://www.pythonanywhere.com/web_app_setup/) und klicke auf **Reload**.
446
+
*Gehe schliesslich noch rüber [auf die Seite "Web"](https://www.pythonanywhere.com/web_app_setup/)(benutze den Menü-Knopf in der rechten oberen Ecke der Konsole) und klicke **Reload**. Lade deinen Blog https://yourname.pythonanywhere.com neu, um die Änderungen zu sehen.
Copy file name to clipboardExpand all lines: de/django_models/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
@@ -95,7 +95,7 @@ Wie du sehen kannst, wurde ein neues `blog`-Verzeichnis erstellt, welches schon
95
95
└── requirements.txt
96
96
97
97
98
-
Nach dem Erstellen der Applikation müssen wir Django noch sagen, dass diese auch genutzt werden soll. Das stellen wir in der Datei `mysite/settings.py`ein. Wir suchen den Eintrag `INSTALLED_APPS` und fügen darin die Zeile `'blog',` direkt über der schließenden Klammer `]` ein. Danach sollte es also so aussehen:
98
+
Nach dem Erstellen der Applikation müssen wir Django noch sagen, dass diese auch genutzt werden soll. Das tun wir in der Datei `mysite/settings.py`-- öffne diese in deinem Code-Editor. Wir suchen den Eintrag `INSTALLED_APPS` und fügen darin die Zeile `'blog',` direkt über der schließenden Klammer `]` ein. Danach sollte es also so aussehen:
99
99
100
100
{% filename %}mysite/settings.py{% endfilename %}
101
101
@@ -115,7 +115,7 @@ INSTALLED_APPS = [
115
115
116
116
Alle `Models` unserer Applikation werden in der `blog/models.py`-Datei definiert. Dies ist also der richtige Platz für unser Blogpost-Model.
117
117
118
-
Öffnen wir also `blog/models.py`, löschen alles darin und schreiben Code wie diesen:
118
+
Öffnen wir also `blog/models.py` im Code-Editor, löschen alles darin und schreiben Code wie diesen:
Copy file name to clipboardExpand all lines: de/django_templates/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
@@ -20,7 +20,7 @@ Um eine Variable in einem Django-Template darzustellen, nutzen wir doppelte, ges
20
20
{{ posts }}
21
21
```
22
22
23
-
Versuche das in deinem `blog/templates/blog/post_list.html` Template. Ersetze alles vom zweiten `<div>` bis zum dritten `</div>` mit `{{ posts }}`. Speichere die Datei und aktualisiere die Seite, um die Ergebnisse anzuzeigen.
23
+
Versuche das in deinem `blog/templates/blog/post_list.html` Template. Öffne es in deinem Code-Editor und ersetze alles vom zweiten `<div>` bis zum dritten `</div>` mit `{{ posts }}`. Speichere die Datei und aktualisiere die Seite, um die Ergebnisse anzuzeigen.
24
24
25
25

26
26
@@ -97,10 +97,10 @@ Es wäre gut zu sehen, ob deine Website noch immer im öffentlichen Internet fun
97
97
[...]
98
98
99
99
100
-
*Zum Schluss hüpf noch einmal kurz rüber zum [Web-Tab](https://www.pythonanywhere.com/web_app_setup/) und drück auf **Reload**. Deine Änderungen sollten jetzt live sein! Wenn die Blogposts auf deiner PythonAnywhere-Seite anders sind als die auf deinem lokalen Server, ist das in Ordnung so. Die Datenbanken auf deinem lokalen Computer und auf PythonAnywhere werden nicht zusammen mit den restlichen Dateien abgeglichen.
100
+
*Spring anschließend rüber zur [Seite "Web"](https://www.pythonanywhere.com/web_app_setup/) und klick auf **Neu laden** in deinem Browser. (Um von der Konsolen-Seite aus zu anderen PythonAnywhere-Seiten zu gelangen, benutze den Menü-Knopf in der rechten oberen Ecke.) Ein Update sollte auf https://yourname.pythonanywhere.comlive sein -- guck's dir im Browser an! Wenn die Blogposts auf deiner PythonAnywhere-Seite anders sind als die auf deinem lokalen Server, ist das in Ordnung so. Die Datenbanken auf deinem lokalen Computer und auf PythonAnywhere werden nicht zusammen mit den restlichen Dateien abgeglichen.
101
101
102
102
Glückwunsch! Nun kannst du dich daran machen, neue Posts in deinem Django Admin zu erstellen (denk daran, auch ein published_date einzufügen!). Stell sicher, dass du im Django Admin der PythonAnywhere Seite https://yourname.pythonanywhere.com/admin arbeitest. Dann aktualisiere die Seite und schau nach, ob die Posts dort erscheinen.
103
103
104
104
Funktioniert super? Wir sind so stolz auf dich! Steh kurz auf und geh ein Stück weg vom Computer. Du hast dir eine Pause verdient :)
0 commit comments