2016-07-07 7 views
0

が、それは良い、次のようurls.py書くことです分類ベースのビューで同じURLが異なる動詞:ジャンゴ:

urlpatterns = [ 
    url(r'^v1/files/$', FileView.as_view(), name='api-upload'), 
    url(r'^v1/files/(?P<pk>\d+)$', FileView.as_view(), name='api-delete'), 
    url(r'^v1/files/$', FileView.as_view(), name='api-view-all'), 
    url(r'^v1/files/(?P<pk>\d+)$', FileView.as_view(), name='api-view-one'), 
] 

秒1と前後1はほぼ同じです。しかし、1つはDELETE、もう1つはGETです。

改善のためのアドバイスはありますか?ありがとう。 django.core.urlresolversによってURLを逆転することは可能ですか?ただ、次の

'deleteUrl': reverse('upload-delete', args=[instance.pk]),

答えて

0

のようにあなたがちょうどあなたのビュー内の二つの方法を定義する必要があり、URLを記述する必要はありません。これにより

# views.py 

class FileView(...): 

    def get(self, request, *args, **kwargs): 
     # This method will catch the GET call 

    def delete(self, request, *args, **kwargs): 
     # This method will catch the DELETE call 

を、あなただけの1つのURLが必要になりますconfig:

url(r'^v1/files/(?P<pk>\d+)$', FileView.as_view(), name='api-file') 
+0

django.core.urlresolversでURLを元に戻すことはできますか? – BAE

+0

@BAEお願いします。あなたが望むものの例を挙げてください。 – Gocht