latest news

2008-11-09 19:33:42

Umstellung und Migration

2 Comments

unanswered questions

2008-10-30 13:34:21

Syndication Feed-Problem

0 Replies

2008-11-17 16:49:19

dynamische urlpatterns...

2 Replies

2008-12-22 02:46:20

Fragen zu pagination ~~

1 Replies

Board » Django das Framework » Probleme & Fragen » Comments bei einem Blog [erledigt]

Page: Previous 1 2

return HttpResponseRedirect('/blog/%s/' % entry_slug)
Das kann man übrigens besser schreiben mit reverse()

http://www.djangoproject.com/documentation/url_dispatch/#reverse

reverse(detail, kwargs={'slug': entry_slug})


Die URL wird dann automatisch aus den urlpatterns erstellt - sprich keine Duplizierung, wenn man die URL ändert muss man nicht alle Redirects anpassen.

Das Kommentar sollte schon automatisch dem richtigen post zugeordnet werden, und nicht beim
schreiben auswählbar sein.


Es gibt verschiedene Möglichkeiten aus der Form zu entfernen. Am einfachsten ist wohl editable=False beim Feld im Model zu setzen, dann wird es gar nicht erzeigt. Alternativ kann man den callback von form_for_* verwenden, oder das Feld einfach löschen, nachdem die Form erzeugt wurde (aber wohl nicht so optimal):

del form.fields['post']  # als instanz
del CommentFormClass.base_fields['post']  # als klasse


und dann wie ich schon gepostet hatte, die Form nicht sofort abspeichern.

    if form.is_valid():
        comment = form.save()
        comment.post = entry
        comment.save()
        ...
Danke nochmals,
werde jetzt in Ruhe versuchen alles umzusetzen.
if form.is_valid():
comment = form.save()
comment.post = entry
comment.save()
Habe es genau so gemacht, bekam aber einen Fehler. Nachdem ich einfach mal "comment = form.save(commit=False)" statt "comment = form.save()" benutzt habe funktionierte es.

Was genau ist/macht commit=False ?
Wozu dient "commit=False", also -> "comment = form.save(commit=False)" ???

Habe die Antwort gefunden:

Es wird benutzt um das Objekt nicht in der Datenbank zu speichern, also zum "postprocessing" benutzt.
Damit hat man dann die Möglichkeit extra Attribute wie (and/then/save) zu benutzen.

Ich benutze es so:

if form.is_valid():
newItem = form.save(commit=False)
newItem.post = entry
newItem.pub_date = datetime.now()
newItem.save()



Danke nochmal!

Page: Previous 1 2