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: it/code_editor/instructions.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
@@ -1,6 +1,6 @@
1
1
Sono disponibili diversi editor e la scelta di uno piuttosto che un altro dipende principalmente dal gusto personale. La maggior parte dei programmatori Python usa complessi ma estremamente potenti IDE (ambienti di sviluppo integrati), come PyCharm. Tuttavia, dal momento che sei ancora agli inizi non è l'editor più appropriato; quelli che ti suggeriremo noi sono ugualmente potenti ma molto più semplici da utilizzare.
2
2
3
-
I nostri suggerimenti sono riportati qui di seguito, ma sentiti libero/a di chiedere al tuo coach quali sono le sue preferenze in materia di editor -in questo modo sarà più semplice per il tuo coach aiutarti.
3
+
I nostri suggerimenti sono riportati qui di seguito, ma sentiti libero/a di chiedere al tuo coach quali sono le sue preferenze in materia di editor, in questo modo sarà più semplice per il tuo coach aiutarti.
4
4
5
5
## Gedit
6
6
@@ -10,7 +10,7 @@ Gedit è un editor open-source e gratuito, disponibile per tutti i sistemi opera
10
10
11
11
## Sublime Text 2
12
12
13
-
Sublime Text è uno tra gli editor più utilizzati. Ha un periodo di prova gratuito. E' molto facile da installare e da utilizzare ed è disponibile per tutti i sistemi operativi.
13
+
Sublime Text è uno tra gli editor più utilizzati. Ha un periodo di prova gratuito. È molto facile da installare e da utilizzare ed è disponibile per tutti i sistemi operativi.
Copy file name to clipboardExpand all lines: it/css/README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ Lo facciamo creando una cartella denominata `static` all'interno dela nostra app
46
46
│ ├── migrations
47
47
│ └── static
48
48
└── mysite
49
-
49
+
50
50
51
51
Django troverà automaticamente tutte le cartelle chiamate "static" dentro le cartelle delle tua app, e sarà in grado di utilizzare il loro contenuto come file statici.
52
52
@@ -59,9 +59,9 @@ Ora, creiamo un file CSS, per poter aggiungere il tuo stile personale al tuo sit
59
59
└─── static
60
60
└─── css
61
61
└─── blog.css
62
-
63
62
64
-
È il giunto il momento di scrivere un po' di CSS! Apri il file `static/css/blog.css` nel tuo editor di codice.
63
+
64
+
È giunto il momento di scrivere un po' di CSS! Apri il file `static/css/blog.css` nel tuo editor di codice.
65
65
66
66
Non ci dilungheremo troppo sul come personalizzare e imparare CSS in questo momento, dal momento che è abbastanza facile e puoi impararlo da solo/a alla fine di questo workshop. Ti raccomandiamo caldamente di seguire questo corso [Codeacademy HTML & CSS course][2] per imparare tutto quello che serve sapere per poter rendere più bello un sito internet con CSS.
67
67
@@ -189,7 +189,7 @@ E ora aggiungi una classe `post` al tuo `div` che contiene un articolo del blog.
189
189
190
190
```html
191
191
<divclass="post">
192
-
<p>pubblicato: {{ post.published_date }}</p>
192
+
<p>published: {{ post.published_date }}</p>
193
193
<h1><ahref="">{{ post.title }}</a></h1>
194
194
<p>{{ post.text|linebreaks }}</p>
195
195
</div>
@@ -252,7 +252,7 @@ Ora aggiungi all'esterno del codice HTML riguardante i posts all'interno del blo
Copy file name to clipboardExpand all lines: it/deploy/README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,7 +82,7 @@ E finalmente salviamo le nostre modifiche. vai alla tua console ed esegui questi
82
82
83
83
## Pubblichiamo il nostro codice su GitHub
84
84
85
-
Vai su [GitHub.com][2] e registrati per ottenere un nuovo account gratuito. (se l'hai già fatto nella preparazione di laboratorio, è fantastico!)
85
+
Vai su [GitHub.com][2] e registrati per ottenere un nuovo account gratuito. (Se l'hai già fatto nella preparazione di laboratorio, è fantastico!)
86
86
87
87
Quindi, crea un nuovo repository, dandogli il nome "my-first-blog". Lascia deselezionata la casella di controllo "initialise with a README", lascia l'opzione di .gitignore vuota (lo abbiamo fatto manualmente) e License su None.
88
88
@@ -127,7 +127,7 @@ Adesso Il tuo codice è su GitHub. Ora controlla! Scoprirai che è in bella comp
127
127
128
128
# Configurare il nostro blog su PythonAnywhere
129
129
130
-
> **Nota** Potresti aver già creato un account di PythonAnywhere precedentemente, durante i passaggi di istallazione - se è così, non c'è bisogno di farlo nuovamente.
130
+
> **Nota** Potresti aver già creato un account di PythonAnywhere precedentemente, durante i passaggi di installazione - se è così, non c'è bisogno di farlo nuovamente.
131
131
132
132
{% include "/deploy/signup_pythonanywhere.md" %}
133
133
@@ -202,12 +202,12 @@ Per ora abbiamo solo bisogno di eseguire un comando supplementare chiamato `coll
202
202
/home/edith/my-first-blog/static
203
203
204
204
This will overwrite existing files!
205
-
Sei sicura di volerlo fare?
205
+
Are you sure you want to do this?
206
206
207
-
Digita 'sì' per continuare o 'no' per annullare: sì
207
+
Type 'yes' to continue, or 'no' to cancel: yes
208
208
209
209
210
-
Digita "sì" e si parte! Non ti piace far stampare al computer pagine e pagine di testo incomprensibile? Faccio sempre piccoli versi per accompagnarlo. Brp, brp brp...
210
+
Digita "yes" e si parte! Non ti piace far stampare al computer pagine e pagine di testo incomprensibile? Faccio sempre piccoli versi per accompagnarlo. Brp, brp brp...
Copy file name to clipboardExpand all lines: it/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
@@ -20,8 +20,8 @@ Quando una richiesta arriva al web server, viene passata a Django che prova a ca
20
20
21
21
Immagina un postino con una lettera. Sta camminando per la strada e controlla ogni numero civico mettendolo a confronto con quello sulla lettera. Se corrisponde, mette lì la lettera. Questo è il modo in cui l'urlresolver funziona!
22
22
23
-
Nella funzione *view* avvengono tutte le cose più interessanti: possiamo consultare un database alla ricerca di qualche informazione. Forse l'utente ha richiesto di cambiare qualcosa all'interno dei suoi dati? È come una lettera che dice "Per favore cambia la descrizione del mio lavoro". La *view* può controllare se sei autorizzata a farlo, poi aggiorna la descrizione del lavoro per te e manda un messaggio: "Fatto!". In seguito, la *view* genera una risposta e Django la può inviare al browser dell'utente.
23
+
Nella funzione *view* avvengono tutte le cose più interessanti: possiamo consultare un database alla ricerca di qualche informazione. Forse l'utente ha richiesto di cambiare qualcosa all'interno dei suoi dati? È come una lettera che dice "Per favore cambia la descrizione del mio lavoro". La *view* può controllare se sei autorizzata a farlo, poi aggiorna la descrizione del lavoro per te e manda un messaggio: "Fatto!". In seguito, la *view* genera una risposta e Django la può inviare al browser dell'utente.
24
24
25
25
Naturalmente, la descrizione qui sopra é molto semplificata, ma per il momento non hai bisogno di sapere nel dettaglio tutti gli aspetti tecnici. Avere il senso generale per il momento è abbastanza.
26
26
27
-
Per cui invece di perderci troppo nei dettagli, creeremo semplicemente qualcosa usando Django e apprenderemo in concetti fondamentali lungo la strada!
27
+
Per cui invece di perderci troppo nei dettagli, creeremo semplicemente qualcosa usando Django e apprenderemo i concetti fondamentali lungo la strada!
Copy file name to clipboardExpand all lines: it/django_forms/README.md
+26-24Lines changed: 26 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Dobbiamo creare un file con questo nome all'interno della cartella `blog`.
12
12
13
13
blog
14
14
└── forms.py
15
-
15
+
16
16
17
17
OK, apriamo questo file e inseriamo:
18
18
@@ -30,11 +30,11 @@ class PostForm(forms.ModelForm):
30
30
31
31
Dobbiamo importare prima di tutto i Django Forms (`from django import forms`) e, ovviamente, il nostro `Post` model (`from .models import Post`).
32
32
33
-
`PostForm`, come probabilmente hai intuito, è nome del nostro form. Dobbiamo ora dire a Django che questa form é una `ModelForm` (così Django farà qualche magia per noi)- `forms.ModelForm` è il comando per farlo.
33
+
`PostForm`, come probabilmente hai intuito, è il nome del nostro form. Dobbiamo ora dire a Django che questa form é una `ModelForm` (così Django farà qualche magia per noi)- `forms.ModelForm` è il comando per farlo.
34
34
35
35
Successivamente, abbiamo `class Meta`, con cui diciamo a Django quale model utilizzare per creare questo form (`model = Post`).
36
36
37
-
Finalmente, possiamo indicare uno o più campi che il nostro form deve avere. In questo caso vogliamo che solamente `title` e `text` siano visibili -`author` è la persona attualmente connessa (tu!) e `created_date` dovrebbe generarsi da sola ogni volta che creiamo un post (cioè nel nostro programma), giusto?
37
+
Finalmente possiamo indicare uno o più campi che il nostro form deve avere. In questo caso vogliamo che solamente `title` e `text` siano visibili -`author` è la persona attualmente connessa (tu!) e `created_date` dovrebbe generarsi da sola ogni volta che creiamo un post (cioè nel nostro programma), giusto?
38
38
39
39
E questo è tutto! Tutto quello che dobbiamo fare ora é usare il form nella nostra *view* e visualizzarlo nel template.
40
40
@@ -102,7 +102,7 @@ urlpatterns = [
102
102
]
103
103
```
104
104
105
-
Dopo aver aggiornato il sito, vedremo un `AttributeError` dal momento che non abbiamo ancora creato `post_new`. Aggiungiamolo, adesso.
105
+
Dopo aver aggiornato il sito, vedremo un `AttributeError` dal momento che non abbiamo ancora creato `post_new`. Aggiungiamolo adesso.
106
106
107
107
## post_new view
108
108
@@ -155,7 +155,7 @@ Ora aggiorna la pagina! Yeah! Puoi ora visualizzare il tuo form!
155
155
156
156
[2]: images/new_form2.png
157
157
158
-
Ma, aspetta un momento!Se provi a scrivere qualcosa in `title` e `text` e cerchi di salvare ciò che hai scritto- che cosa succede?
158
+
Ma, aspetta un momento!Se provi a scrivere qualcosa in `title` e `text` e cerchi di salvare ciò che hai scritto, che cosa succede?
159
159
160
160
Niente! Siamo di nuovo sulla stessa pagina di prima e il nostro testo é sparito...e non compare nessun nuovo post. Che cosa abbiamo sbagliato?
161
161
@@ -182,13 +182,13 @@ else:
182
182
form = PostForm()
183
183
```
184
184
185
-
È ora di completare i puntini `[...]`. Se `method`chiama il metodo`POST` allora vogliamo costruire il nostro `PostForm` con i dati appena inseriti dall'utente, giusto? Raggiungeremo questo risultato con:
185
+
È ora di completare i puntini `[...]`. Se il `method`è`POST` allora vogliamo costruire il nostro `PostForm` con i dati appena inseriti dall'utente, giusto? Raggiungeremo questo risultato con:
186
186
187
187
```python
188
188
form = PostForm(request.POST)
189
189
```
190
190
191
-
Facile!Come prossima cosa dobbiamo controllare se il form è corretto (per cui che tutti i campi necessari siano stati impostati e che non ci siano valori sbagliati). Possiamo fare questo con `form.is_valid()`.
191
+
Facile!Come prossima cosa dobbiamo controllare se il form è corretto (per cui che tutti i campi necessari siano stati impostati e che non ci siano valori sbagliati). Possiamo fare questo con `form.is_valid()`.
192
192
193
193
Se la forma viene ritenuta valida verrà salvata!
194
194
@@ -200,7 +200,7 @@ if form.is_valid():
200
200
post.save()
201
201
```
202
202
203
-
In pratica, ci sono due cose da fare: salviamo il form con `form.save` e aggiungiamo un autore(dal momento che non c'era nessun campo autore `author` nel form `PostForm` e questo campo non può essere lasciato bianco!). `commit=False` significa che non vogliamo salvare `Post` model per il momento-vogliamo prima assicurarci di aggiungere un autore. Per la maggior parte del tempo userai `form.save()`, senza `commit=False`, ma in questo caso abbiamo bisogno di questa extra specificazione. `post.save()` salverà le modifiche (aggiunta di autore) e il nuovo post del tuo blog è stato finalmente creato!
203
+
In pratica, ci sono due cose da fare: salviamo il form con `form.save` e aggiungiamo un autore(dal momento che non c'era nessun campo autore `author` nel form `PostForm` e questo campo non può essere lasciato bianco!). `commit=False` significa che non vogliamo salvare `Post` model per il momento-vogliamo prima assicurarci di aggiungere un autore. Per la maggior parte del tempo userai `form.save()`, senza `commit=False`, ma in questo caso abbiamo bisogno di questa extra specificazione. `post.save()` salverà le modifiche (aggiunta di autore) e il nuovo post del tuo blog è stato finalmente creato!
204
204
205
205
Infine, non sarebbe fantastico se potessimo immediatamente essere indirizzati alla pagina `post_detail` del nuovo blog post appena creato? Per fare ciò dobbiamo importare:
206
206
@@ -214,7 +214,7 @@ Aggiungilo all'inizio del file. E ora possiamo dire: vai alla pagina `post_detai
`blog.views.post_detail` é il nome della view che vogliamo visitare. Ti ricordi che questa *view* ha bisogno della `pk` variabile? Per passarla alla nostre views utilizziamo `pk=post.pk`, dove `post` è il post appena creato!
217
+
`blog.views.post_detail` é il nome della view che vogliamo visitare. Ti ricordi che questa *view* ha bisogno della variabile `pk`? Per passarla alla nostre views utilizziamo `pk=post.pk`, dove `post` è il post appena creato!
218
218
219
219
Ok, abbiamo parlato abbastanza ora e forse sei curioso/a di vedere l'aspetto della nostra *view*, giusto?
220
220
@@ -235,7 +235,7 @@ def post_new(request):
235
235
236
236
Vediamo se funziona. Vai sulla pagina http://127.0.0.1:8000/post/new/, aggiungi un `title` e un `text`, salvalo... e voilà! Il tuo nuovo post è stato aggiunto e noi siamo stati reindirizzati automaticamente alla pagina `post_detail` !
237
237
238
-
Forse hai notato che stiamo impostando una data di pubblicazione prima di salvare il post. Più tardi introdurremo l'uso del *publish button* in **Django Girls Tutorial: Extensions**.
238
+
Forse avrai notato che stiamo impostando una data di pubblicazione prima di salvare il post. Più tardi introdurremo l'uso del *publish button* in **Django Girls Tutorial: Extensions**.
Questo sembra quasi esattamente la view `post_new`, giusto? Ma non del tutto. Prima cosa: si passa un parametro supplementare `pk` dall'URL. Dopo di che: prendiamo il modello ` Post` che vogliamo modificare con `get_object_or_404(Post, pk=pk)` e in seguito, quando creeremo un form, passeremo questo post come `istanza`, sia quando salviamo il form:
315
+
Questo sembra quasi esattamente la view `post_new`, giusto? Ma non del tutto. Prima cosa: si passa un parametro supplementare `pk` dall'URL. Dopo di che: prendiamo il modello ` Post` che vogliamo modificare con `get_object_or_404(Post, pk=pk)` e in seguito, quando creeremo un form, passeremo questo post come `instance`, sia quando salviamo il form:
316
316
317
317
```python
318
318
form = PostForm(request.POST, instance=post)
@@ -370,24 +370,26 @@ Vediamo se funziona su PythonAnywhere. È l'ora di un altro deploy!
370
370
371
371
* Innanzitutto, fai un commit del tuo nuovo codice e fai il push per caricarlo su Github
372
372
373
-
$ git status
374
-
$ git add -A .
375
-
$ git status
376
-
$ git commit -m "Aggiunto le views a create/modificare blog post dal sito."
377
-
$ git push
378
-
373
+
```
374
+
$ git status
375
+
$ git add -A .
376
+
$ git status
377
+
$ git commit -m "Added views to create/edit blog post inside the site."
378
+
$ git push
379
+
```
379
380
380
381
* Poi, in una [console PythonAnywhere Bash][7]:
381
382
382
383
[7]: https://www.pythonanywhere.com/consoles/
383
384
384
-
$ cd my-first-blog
385
-
$ source myvenv/bin/activate
386
-
(myvenv)$ git pull
387
-
[...]
388
-
(myvenv)$ python manage.py collectstatic
389
-
[...]
390
-
385
+
```
386
+
$ cd my-first-blog
387
+
$ source myvenv/bin/activate
388
+
(myvenv)$ git pull
389
+
[...]
390
+
(myvenv)$ python manage.py collectstatic
391
+
[...]
392
+
```
391
393
392
394
* Infine, vai sulla [Web tab][8] e premi **Reload**.
dove `C:\Python34\python` è la directory in cui precedentemente hai installato Python e `myvenv` è il nome del tuo `virtualenv`. Puoi utilizzare qualsiasi altro nome, ma attieniti a utilizzare le minuscole, a non usare spazi, accenti o caratteri speciali. E' meglio usare un nome breve -dal momento che dovrai digitarlo spesso!
31
+
dove `C:\Python34\python` è la directory in cui precedentemente hai installato Python e `myvenv` è il nome del tuo `virtualenv`. Puoi utilizzare qualsiasi altro nome, ma attieniti a utilizzare le minuscole, a non usare spazi, accenti o caratteri speciali. È meglio usare un nome breve dal momento che dovrai digitarlo spesso!
32
32
33
33
### Linux e OS X
34
34
@@ -93,7 +93,7 @@ OK, abbiamo tutte le dipendenze importanti pronte. Finalmente possiamo installar
93
93
94
94
## Installare Django
95
95
96
-
Ora che hai iniziato ad utilizzare il tuo `virtualenv`, puoi istallare Django usando `pip`. Nella console, esegui `pip install django==1.8` (nota che usiamo un doppio simbolo di uguale: `==`).
96
+
Ora che hai iniziato ad utilizzare il tuo `virtualenv`, puoi installare Django usando `pip`. Nella console, esegui `pip install django==1.8` (nota che usiamo un doppio simbolo di uguale: `==`).
Copy file name to clipboardExpand all lines: it/django_models/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
@@ -56,7 +56,7 @@ Puoi pensare ad un modello nel database come ad un foglio elettronico con colonn
56
56
57
57
### Creazione di un'applicazione
58
58
59
-
Per mantenere tutto ordinato, creeremo un'applicazione diversa all'interno del nostro progetto. E' molto bello avere tutto organizzato fin dall'inizio. Per creare un'applicazione abbiamo bisogno di eseguire il seguente comando nella console (dalla cartella `djangogirls` dove si trova il file `manage.py`):
59
+
Per mantenere tutto ordinato, creeremo un'applicazione diversa all'interno del nostro progetto. È molto bello avere tutto organizzato fin dall'inizio. Per creare un'applicazione abbiamo bisogno di eseguire il seguente comando nella console (dalla cartella `djangogirls` dove si trova il file `manage.py`):
60
60
61
61
(myvenv) ~/djangogirls$ python manage.py startapp blog
0 commit comments