2016-09-28 4 views
-1

私はFBVを使って被写体を削除しようとしていますが、わからない問題があります。 Django 1.7.1です。以下は関連コードです。djangoビューfuncが動作しないようです

モデルコミュニケーション:

... 
@models.permalink 
def get_delete_url(self): 
    return 'comm_delete', [self.uuid] 

のURLconf:

url(r'^(?P<uuid>[\w-]+)/delete/$', views.comm_delete, name='comm_delete'), 

ビュー:

def comm_delete(request, uuid): 
    obj = get_object_or_404(Communication, uuid=uuid) 
    account = Account.objects.get(id=obj.account.id) 
    if request.method == 'POST': 
     obj.delete() 
     return HttpResponseRedirect(reverse('crmapp.accounts.views.account_detail', args=(account.uuid,))) 
    return render(request, 'subject_confirm_delete.html', {'object_name': 'Communication', 'object': obj}) 

私はクリック

<a class="cancel" href="{{ comm.get_delete_url }}"></a> 

ページがuuid/delete/urlに移動すると、フォーム表示通信オブジェクト。キャンセルボタンをクリックしても、ページを更新するだけで何も変更されません。 どうすれば修正できますか?お願い助けて!あなたが見ることができるように、

url(r'^(?P<uuid>[\w-]+)/', views.comm_detail, name='comm_detail'), 
url(r'^(?P<uuid>[\w-]+)/delete/$', views.comm_delete, name='comm_delete'), 

object_confirm_delete.html:このようなアプリの通信に clicked_move_to_page

urls.py: object_confirm_delete.html

ページクリックされたボタンをキャンセル最初のものには最後に '$'がないので、2番目のURLをリンクすると、最初の正規表現が一致し、ビューcomm_detailが実行されます。私はそれを修正した後、それはうまく実行されます。

+2

そのリンクをクリックしたときに何が起こることが予想されるのか分かりません。 –

+0

'subject_confirm_delete.html'を投稿してください。 – Selcuk

+0

@Selcuk更新、ありがとう – Charles

答えて

0

このようなアプリのコミュニケーションにおけるurls.py:

url(r'^(?P<uuid>[\w-]+)/', views.comm_detail, name='comm_detail'), 
url(r'^(?P<uuid>[\w-]+)/delete/$', views.comm_delete, name='comm_delete'), 

あなたが見ることができるように、最初のものは最後にNO「$」を持っていないので、私は二番目のURLをリンクする際に、最初に正規表現とマッチして、ビューcomm_detailを実行します。私はそれを修正した後、それはうまく実行されます。 FBVが正しいことを意味します。

関連する問題