我是新來的Django,並試圖從django-jquery-file-upload類基於視圖指定
它已經向我介紹了基於類的視圖的工作模板名稱。
我試圖複製這些基於類的視圖之一來包含一個共享鏈接,將回引用到畫廊中的單個鏈接。
我試圖適應類:
class PictureDeleteView(DeleteView):
model = Picture
def delete(self, request, *args, **kwargs):
"""
This does not actually delete the file, only the database record. But
that is easy to implement.
"""
self.object = self.get_object()
self.object.delete()
if request.is_ajax():
response = JSONResponse(True, {}, response_mimetype(self.request))
response['Content-Disposition'] = 'inline; filename=files.json'
return response
else:
return HttpResponseRedirect('/upload/new')
class JSONResponse(HttpResponse):
"""JSON response class."""
def __init__(self,obj='',json_opts={},mimetype="application/json",*args,**kwargs):
content = simplejson.dumps(obj,**json_opts)
super(JSONResponse,self).__init__(content,mimetype,*args,**kwargs)
默認爲模板的名稱picture_confirm_delete.html
我怎麼可以重寫一類具有相同的功能,除了它指向不同的模板?或更好的&符合'幹'我怎樣才能重用這個類在另一個模板?
我看過文檔here,但似乎無法使其適應我的需求。
在此先感謝。
所以我結束了重複相同的類,並改變名稱和添加template_name,因爲你desrcibed,但會沒有更多'幹'的方式來實現相同? –
@ChristopherCamplin我想我只是在示例中展示了您不必重複代碼 - 只是使用類繼承,如我的答案('類MyOwnPictureDeleteView(PictureDeleteView)')所示。 – gertvdijk
對不起,我誤解了你想說的話,那就像一個魅力,非常感謝。 –