我有djnago應用結構類似我如何可以包括從靜態文件夾我的模板在Django
myproject/myapp
myproject/myapp/static/site/app/index.html
我想在我的文件中像這樣
該模板url(r'^public$', TemplateView.as_view(template_name="/static/site/app/index.html")),
但它說沒有找到模板
我有djnago應用結構類似我如何可以包括從靜態文件夾我的模板在Django
myproject/myapp
myproject/myapp/static/site/app/index.html
我想在我的文件中像這樣
該模板url(r'^public$', TemplateView.as_view(template_name="/static/site/app/index.html")),
但它說沒有找到模板
import os
import sys
PORJECT_ROOT = os.path.join(os.path.dirname(__file__),'..')
sys.path.insert(0, os.path.join(PROJECT_ROOT,'static'))
確保文件夾包含在TEMPLATE_DIRS
設置中(位於settings.py中)。
一般(按照約定)模板文件夾是project_root_folder \ Templates文件夾,更新TEMPLATE_DIRS在settings.py:
import os
PORJECT_ROOT = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = (
os.path.join(PORJECT_ROOT, 'templates'),
)
雖然靜態商店只有JavaScript/CSS /圖像fiels。
這將使未來的開發和部署更容易。
默認情況下,django會在app/templates目錄中檢查模板匹配,或者在project_root/templates /中檢查。您應該像其他人所說的那樣,在TEMPLATE_DIRS設置中列出目錄。
我該如何硬編碼那裏的路徑。像'myproject.static'或其他東西 – user1865341 2013-03-15 03:06:02
硬代碼?對不起,我不明白你想做什麼。首先,'template_name'出現錯誤。它應該是「static/site/app/index.html」,而不是「/static/site/app/index.html」,因爲它被解釋爲來自'TEMPLATE_DIRS'中的其他路徑的relativa路徑。因此,添加保存文件夾static(e:「C:/ myprject/myapp /」或「/ home/django/myproject/myapp /」)的絕對路徑。 – sanfilippopablo 2013-03-15 03:17:25