2011-08-24 78 views
-1

我想建立一個通用的觀點,會做一些事情,然後會調用一個特定的視圖 例如:Django的URL和通用視圖

主要項目網址:

urlpatterns = patterns('', 
    (r'^(?P<application>\w+)/', 'tool.start.start'), 

MYAPP網址:

鑑於
urlpatterns = patterns('myapp.view', 
    (r'^$', 'dashboard'), 

這將執行我的看法「開始」,並將它傳遞「應用程序」參數 「啓動」我想檢查並設置一些瓦爾然後我灣如在application.urls

如此描述,如果我打電話吶執行特定視圖「本地主機:8080/MyApp的」第一執行tool.start.start然後myapp.view.dashboard

我已經tryed到包括應用程序。網址和解決它,但沒有什麼...

任何想法?

+3

我想知道爲什麼你想要連續調用兩個視圖。如果在每個請求開始時需要運行代碼,則應該使用[中間件](https://docs.djangoproject.com/en/dev/topics/http/middleware/?from = olddocs) 。 –

回答

0

需要在視圖之前或之後執行的任何功能都應放置在Middleware中。例如:

class CustomMiddleware(object): 

    def process_view(self, request, view_func, view_args, view_kwargs): 

     if view_func == dashboard: 
      tool.start.start(request)