2013-02-05 67 views
1

按照documentation,Django的應該自動從我的應用程序,如果我有一個在應用程序的根目錄,命名爲「模板」文件夾中加載模板。的Django模板自動加載工作不適合我的應用程序

我已經添加了我的應用程序

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    # 'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    'django.contrib.admindocs', 
    # Use email as username https://github.com/dabapps/django-email-as-username 
    'emailusernames', 
    'purchaseapp' # this is my app 
) 

我創建了一個模板文件夾

enter image description here

,我已經設置URL模式使用admin作爲登錄頁面

urlpatterns = patterns('', 
    # Examples: 
    # url(r'^$', 'timely.views.home', name='home'), 
    # url(r'^timely/', include('timely.foo.urls')), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', hello), 
    url(r'^accounts/logout/$', 'django.contrib.auth.views.logout'), 
    url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'admin/login.html'}), 
    url(r'^accounts/$', 'django.views.generic.simple.redirect_to', {'url': '/'}), 
    url(r'^accounts/profile/$', 'django.views.generic.simple.redirect_to', {'url': '/'}), 
) 

我改寫base_site.html,但我不能看到我的定製,WH ich我看它是否將文件夾添加到TEMPLATE_DIRS

TEMPLATE_DIRS = (
    "/Users/nicola/Documents/Aptana Studio 3 Workspace/timely/purchaseapp/templates", 
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
) 

我在做什麼錯了?

+0

順便說一句,也許你會希望添加django.template.loaders .app_directories.Loader添加到您的模板加載器,以便從應用中加載模板,而無需在TEMPLATE_DIRS中選擇每個模板。 – simplylizz

+0

我遇到過類似的問題,將模板文件夾添加到項目的根目錄並在應用程序文件夾中解決了我的問題。 – vedarthk

+0

@simplylizz不,我已經擁有了,感謝您的建議 –

回答

0

的問題是可能的Django停止搜索時,它創立一個有效的模板,這樣我的應用程序不得不先比的contrib管理

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    # 'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'purchaseapp', #this is my app 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    'django.contrib.admindocs', 
    # Use email as username https://github.com/dabapps/django-email-as-username 
    'emailusernames', 
) 
0

您需要創建幾個目錄下的管理(從docs):

爲了覆蓋一個或更多的人,首先在項目中創建的模板目錄管理員 目錄。這可以是您在TEMPLATE_DIRS中指定的目錄中的任何一個 。

這admin目錄內,創建 應用程序命名的子目錄。在這些應用程序子目錄中,在模型之後創建名爲 的子目錄。請注意,尋找目錄時,管理員應用程序將小寫的模型 名字,所以一定要確保你的名字在所有小寫的 目錄,如果你要運行一個 區分大小寫的文件系統的應用程序。

要覆蓋特定應用程序的管理模板,請從django/contrib/admin/templates/admin目錄中複製並編輯 模板,然後將它保存到剛剛創建的其中一個目錄中。

+0

究竟文件夾的問題?我在管理員添加purchaseapp文件夾,有,但還是移動的文件沒有成功。 –

+0

這適用於僅針對特定模型覆蓋管理頁面(例如,在添加頁面上覆蓋)。對於base_site.html,index.html和login.html的網站範圍更改,Nicola的結構看起來正確。 –

+0

@AidanEwen到底它只是一個INSTALLED_APPS命令的問題 –

相關問題