如何在视图django中获取模板路径

时间:2017-07-04 02:18:08

标签: django django-views

所以我试图在我的视图中获取模板路径。有没有一种动态的方法可以做到这一点,因为目前我正在对这条路进行硬编码。

html = 'C:/Users/user/Desktop/project/src/templates/project.html'

模板路径

TEMPLATES = [
   'DIRS': [os.path.join(BASE_DIR, "templates")],
]

查看

html = 'C:/Users/user/Desktop/project/src/templates/project.html'
open_html = open(html, 'r')
soup =  BeautifulSoup(open_html, "html5lib")
image = soup.find('img', {'name':'image_url'})
img_url = image.get('src')
open_html.close()

3 个答案:

答案 0 :(得分:1)

试试这个。从项目设置文件中获取模板位置。

from your_project_name.settings import BASE_DIR

path = os.path.join(BASE_DIR+'templates/', 'project.html')
open_html = open(path, 'r')
soup =  BeautifulSoup(open_html, "html5lib")
image = soup.find('img', {'name':'image_url'})
img_url = image.get('src')
open_html.close()

答案 1 :(得分:1)

如果您加载模板。...

mytemplate = loader.get_template('myapp/templatename.html')

您得到的是模板对象。

该对象的成员之一是origin属性,它本身具有称为“名称”的属性

templatepath = mytemplate.origin.name

这是模板加载程序发现的模板文件的完整路径。

答案 2 :(得分:0)

最好将模板存储在应用中。 例如,如果您的应用程序名为polls,则您的模板应位于polls / templates / polls /

您可以在此处详细了解: https://docs.djangoproject.com/en/1.11/intro/tutorial03/