2014-10-06 29 views
1

嗯,我試過:Django`extends`接受名稱空間解析模板嗎?

凸出/模板/註冊/ register.html

{% extends "a:base.html" %} 

凸出/凸出/ urls.py:

from a import urls as a_urls 
import views 

urlpatterns = patterns('', 
         url(r'^accounts/register$', views.register), 
         url(r'^a/', include(a_urls, namespace='a')), 
        ) 

register

def register(request, *args, **kwargs): 
    return render(request, 'registration/register.html') 

沒有工作(TemplateDoesNotExist at/accounts/register)。 ('extends'帶一個參數)。

我想要做的是擴展應用程序的模板(從目錄路徑顯然),而不必鍵入路徑。 base.html可能存在於其各自的templates dir的根目錄中的多個應用程序中,所以我想通過命名空間來引用其中的一個。

那麼有沒有辦法通過extends的命名空間分辨率來使用模板?

+0

我不太清楚你想要做什麼。你想使用什麼'''{%extends%}'''的值? – schillingt 2014-10-07 00:47:58

+0

這可能有所幫助:http://stackoverflow.com/questions/2030225/how-to-get-current-app-for-using-with-reverse-in-multi-deployable-reusable-djang/13249060#13249060 – dursk 2014-10-07 01:08:31

+0

@ mattm不是真的。我的用例在'extends'內部是特定的。 – 2014-10-07 09:27:35

回答

1

在模板路徑中沒有這樣的命名空間,所以目前還不清楚你想要做什麼。而使用URL也沒有意義:路徑與URL無關,它只是一個相對於TEMPLATE_DIRS庫的文件路徑。

+0

真正的網址沒有意義。我試圖做的是擴展一個應用程序的模板(從目錄路徑顯然),而不必鍵入路徑。 'base.html'可能在其各自'templates'目錄的根目錄下的多個應用程序中,所以我想通過命名空間來引用其中的一個。 – 2014-10-07 09:25:41