2017-07-04 4 views
0

So versuche ich den Vorlagenpfad in meiner Ansicht zu bekommen. Gibt es eine dynamische Art, dies zu tun, weil ich den Pfad im Moment hart kodiere?So erhalten Sie den Vorlagenpfad in der Ansicht django

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

Vorlagen Pfad

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

Ansicht

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

versuchen diese https://stackoverflow.com/questions/3092865/django-view-load-template-from-calling-apps-dir-first – badiya

+1

Die Schönheit von Django ist, dass es Ihre Template-Dateien selbstständig erkennen wird basierend auf der Ordnerstruktur - 'app/templates/app/project.html'. – joshlsullivan

Antwort

1

bereits. Holen Sie sich den Template-Speicherort aus Ihrer Projekteinstellungsdatei.

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() 
+0

Froh kann helfen! Wenn meine Antwort hilfreich war, vergiss nicht zu antworten ist nützlich (oben). Vielen Dank – ammy

Verwandte Themen