2011-08-05 7 views
3

私は単純なフォームを持つページを持っています。私はこのフォームを提出すると、私は新しいオブジェクトが作成された同じページにリダイレクトされます。私は削除して編集するために作成されたすべてのオブジェクトの右側にインラインリンクを追加したいと思います。私はdjangoでこれを行うか、これを処理するためにjavascript/AJAXを使用しますか?私は、私が取るべきアプローチについてちょっと混乱しています。助言がありますか?通常djangoフレームワークまたはjavascript/AJAXでオブジェクトを削除する

def events(request): 
    the_user = User.objects.get(username=request.user) 
    event_list = Event.objects.filter(user=the_user) 
    if request.POST: 
     form = EventForm(request.POST) 
     if form.is_valid(): 
      form.save() 
    else: 
     form = EventForm(initial={'user':the_user}) 
    return render_to_response("events/event_list.html", { 
     "form": form, 
     "event_list": event_list, 
    }, context_instance=RequestContext(request)) 

答えて

2

、あなたは、例えば、別のビュー機能を記述します。

は、ここに私の見解は、現在次のようになります。 delete_event(request, event_id)となり、urls.pyに配線されます。削除ビューの中で、提供されたModel.delete()関数を使用してデータベースからオブジェクトを削除します。

ajaxを使用するかどうかは、主に味わいの問題です.JavaScript経由で上記のロジックと同様の機能を要求する必要があります。

ページを適切に更新するために、(ajaxを使用する場合)いくつかのオーバーヘッドが存在します。

削除する適切なhttp動詞はDELETEですが、これは通常、そのままではサポートされていないため、POSTを使用します。

+1

これは何ですか? (r^events/delete /(?P \ d +)/ $ '' delete_event ') –

+0

しかし、この問題は私がイベント/削除/にリダイレクトしたくないということです。イベントに泊まりたいイベントへのリクエスト/はすでにイベントビューに結びついています。 –

+0

私はあなたの懸念を十分に理解していないかもしれません。削除後にいつでもリダイレクトすることができます。あなたが来ているページへ。あなたが 'events'にいるとしたら、deleteと言うリンクをクリックします。これは' events/1231/delete'に移動します(あまり安心できません、私は知っています)。 '、あなたのリストに1つ少ない項目でこの時間 - それは十分ではないでしょうか? – miku

関連する問題