2009-06-17 93 views
0

我已經開發了一些構建在contrib評論應用程序上的代碼,例如處理程序的Ajax請求。此代碼位於單獨的應用程序中,我們可以將其稱爲「comments2」。該項目的url配置是以這樣一種方式構建的,即所有對/ comments的調用都是針對這個應用的視圖。這工作沒有問題。在通用應用程序中實現模板標籤 - django

最近我做了一個新頁面,顯示標記爲不合適的評論。

我認爲最好通過編寫一個包含模板標籤來完成,並寫了一個。它的工作原理是這樣的:

{% display_flagged_comments 'market' %} 

該標籤位於主應用程序的相關模板內。

正如上面的代碼所示,我通過了什麼模型(市場在這種情況下)的評論屬於這樣的comments2應用程序仍然是通用的。

我有三個問題,在這裏,我需要指導:

首先,我覺得這個模型的參數是引號內(「市場」)使代碼少了幾分優雅。在代碼中的參數將轉換爲一個模型:

#template tag 
def show_comments(modelname): 
    model = ContentType.objects.get(model=modelname) 
    ... # get comments and return them 

其次,由於與/評論所有的請求都指向註釋2應用程序,我需要設計不同的URL此頁面(它位於主內app),比如/ managecomments。我覺得這樣做也不夠好看。

第三,我想知道我是否遵循了正確的路徑,或者是否有更好的方法來實現我正在嘗試做的事情。

在此先感謝。

回答

0

ContentTypeManager爲您解決了第一個問題。您可以使用接受類或實例的方法get_for_model。詳情請參閱the contettypes docs

相關問題