所以我试图在我的视图中获取模板路径。有没有一种动态的方法可以做到这一点,因为目前我正在对这条路进行硬编码。
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()
答案 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/