[英]Django class based views - Direct url to particular method in class
我使用基於函數的視圖已有相當長的一段時間了,但是直到現在為止我從未使用過基於類的視圖。 我當前的項目需要跨多個視圖的許多通用代碼,因此我正在探索基於類的視圖,以便可以使用繼承。
我的要求是將url定向到類中的特定函數。 類似於可以在django admin上完成的操作。 在Django admin中,我在從ModelAdmin繼承的類中使用了get_urls
方法,以將url指向類方法。
def get_urls(self):
try:
from django.conf.urls.defaults import patterns, url
urls = super(MyModelAdmin, self).get_urls()
my_urls = patterns('',
url(r'^myurl/(?P<obj_id>\d+)/$',
self.admin_site.admin_view(self.myFunction),
name="my_function"),
)
return my_urls + urls
except Exception, e:
logger.error(e)
myFunction
方法只是在views.py中調用一個方法,並傳遞請求對象和對象ID。 我的文檔在這里
是否可以對基於類的視圖做類似的事情? 從到目前為止的搜索中,我找不到任何文檔,該文檔顯示了將函數指針傳遞給as_view
方法(我們可以執行admin_view
方法的方式)的admin_view
。 請指導我或指向正確的文檔。
由於歷史原因,管理員視圖與Django基於類的其余視圖非常不同,因此將實現從一個遷移到另一個可能很棘手。
常規CBV旨在連接到特定的url模式,它們並非旨在將不同的url分配給不同的視圖,因此實現get_urls
方法實際上沒有任何意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.