Skip to content

Commit c35bc04

Browse files
committed
Fix on chapter 22
1 parent 44e2b4d commit c35bc04

1 file changed

Lines changed: 26 additions & 24 deletions

File tree

it/django_forms/README.md

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Dobbiamo creare un file con questo nome all'interno della cartella `blog`.
1212

1313
blog
1414
└── forms.py
15-
15+
1616

1717
OK, apriamo questo file e inseriamo:
1818

@@ -30,11 +30,11 @@ class PostForm(forms.ModelForm):
3030

3131
Dobbiamo importare prima di tutto i Django Forms (`from django import forms`) e, ovviamente, il nostro `Post` model (`from .models import Post`).
3232

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.
3434

3535
Successivamente, abbiamo `class Meta`, con cui diciamo a Django quale model utilizzare per creare questo form (`model = Post`).
3636

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?
3838

3939
E questo è tutto! Tutto quello che dobbiamo fare ora é usare il form nella nostra *view* e visualizzarlo nel template.
4040

@@ -102,7 +102,7 @@ urlpatterns = [
102102
]
103103
```
104104

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.
106106

107107
## post_new view
108108

@@ -155,7 +155,7 @@ Ora aggiorna la pagina! Yeah! Puoi ora visualizzare il tuo form!
155155

156156
[2]: images/new_form2.png
157157

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?
159159

160160
Niente! Siamo di nuovo sulla stessa pagina di prima e il nostro testo é sparito...e non compare nessun nuovo post. Che cosa abbiamo sbagliato?
161161

@@ -182,13 +182,13 @@ else:
182182
    form = PostForm()
183183
```
184184

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:
186186

187187
```python
188188
form = PostForm(request.POST)
189189
```
190190

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()`.
192192

193193
Se la forma viene ritenuta valida verrà salvata!
194194

@@ -200,7 +200,7 @@ if form.is_valid():
200200
post.save()
201201
```
202202

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!
204204

205205
Infine, non sarebbe fantastico se potessimo immediatamente essere indirizzati alla pagina `post_detail` del nuovo blog post appena creato? Per fare ciò dobbiamo importare:
206206

@@ -214,7 +214,7 @@ Aggiungilo all'inizio del file. E ora possiamo dire: vai alla pagina `post_detai
214214
return redirect('blog.views.post_detail', pk=post.pk)
215215
```
216216

217-
`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!
218218

219219
Ok, abbiamo parlato abbastanza ora e forse sei curioso/a di vedere l'aspetto della nostra *view*, giusto?
220220

@@ -235,7 +235,7 @@ def post_new(request):
235235

236236
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` !
237237

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**.
239239

240240
Fantastico!
241241

@@ -312,7 +312,7 @@ def post_edit(request, pk):
312312
return render(request, 'blog/post_edit.html', {'form': form})
313313
```
314314

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 `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:
316316

317317
```python
318318
form = PostForm(request.POST, instance=post)
@@ -370,24 +370,26 @@ Vediamo se funziona su PythonAnywhere. È l'ora di un altro deploy!
370370

371371
* Innanzitutto, fai un commit del tuo nuovo codice e fai il push per caricarlo su Github
372372

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+
```
379380

380381
* Poi, in una [console PythonAnywhere Bash][7]:
381382

382383
[7]: https://www.pythonanywhere.com/consoles/
383384

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+
```
391393

392394
* Infine, vai sulla [Web tab][8] e premi **Reload**.
393395

0 commit comments

Comments
 (0)