【发布时间】:2019-08-09 13:36:03
【问题描述】:
我有一个超小型(一个视图)django 应用程序,它从 tableau 服务器加载视图。
我已经让它与trust app method 的连接一起使用,如果我只是将 URL 放入浏览器中,它可以毫无问题地加载。
但是,当我尝试在 django 模板中呈现同一页面时 - django 尝试加载所有资源,就好像它们存在于本地一样(这不起作用)。
视图如下所示:
def index(request):
url = os.environ.get("tableau_HOST")
username = request.user.username
ticket = get_tableau_ticket(url, username)
if ticket:
data = requests.get(url+ticket+'/views/SIPPlan/DashboardView', data={'username': username})
print(data.text)
else:
# Handle the error - not implemented yet
r = ticket
return render(
request,
"tableau/index.html",
{
"tableau_data": data.text,
},
)
在我的模板中是这样的:
{% extends "myapp/base_template.html" %}
{% load static %}
{% block content %}
{% autoescape off %}
{{ tableau_data }}
{% endautoescape %}
{% endblock %}
当我加载视图时 - 我看到它试图从我的本地计算机加载资源(它不应该,它们存在于画面服务器上)。
[09/Aug/2019 08:26:28] "GET /vizql/v_201921906211547/javascripts/formatters-and-parsers.en_US.js HTTP/1.1" 404 3610
Not Found: /vizql/v_201921906211547/javascripts/vqlweb.js
2019-08-09 08:26:28,639 - django.request WARNING Not Found: /vizql/v_201921906211547/javascripts/vqlweb.js
[09/Aug/2019 08:26:28] "GET /vizql/v_201921906211547/javascripts/vqlweb.js HTTP/1.1" 404 3544
Not Found: /vizql/v_201921906211547/javascripts/require.min.js
2019-08-09 08:26:28,700 - django.request WARNING Not Found: /vizql/v_201921906211547/javascripts/require.min.js
...etc...
但同样 - 如果我只是点击我在浏览器中构建的那个 URL(未嵌入在模板中),它会呈现正常。
所以我想我的问题是:有没有一种好方法可以在 django 模板页面中呈现另一个 HTML 页面?我似乎不知道该怎么做。
【问题讨论】:
标签: python django django-templates tableau-api