我已经设置了一个与我的 django 网站配合良好的 dash 应用程序,但我希望在具有模板的页面上使用 dash 应用程序。
我的设置是通常的设置,即:
视图.py
def dispatcher(request):
'''
Main function
@param request: Request object
'''
params = {
'data': request.body,
'method': request.method,
'content_type': request.content_type
}
with server.test_request_context(request.path, **params):
server.preprocess_request()
try:
response = server.full_dispatch_request()
except Exception as e:
response = server.make_response(server.handle_exception(e))
return response.get_data()
@login_required
def dash_index(request, **kwarg):
return HttpResponse(dispatcher(request))
@csrf_exempt
def dash_ajax(request):
return HttpResponse(dispatcher(request), content_type='application/json')
和
网址.py
urlpatterns = [
re_path('^_dash-', views.dash_ajax),
re_path('^', views.dash_index),
]
上面的代码工作正常。现在,我尝试了以下方法将页面(查看 dash_index)嵌入到模板(称为仪表板模板)中。该模板不是用于格式化应用程序本身,而是用于将“围绕”应用程序的元素,例如导航栏、页脚、菜单等。
试试n°1
@login_required
def dash_index(request, **kwarg):
template_name = "dashboard_template.html"
return HttpResponse(dispatcher(request),template_name)
不会产生错误,但不会显示模板。
尝试 n°2:
@login_required
def dash_index(request, **kwarg):
template = loader.get_template("dashboard_template.html")
return HttpResponse(template.render(dispatcher(request)))
我从 urls.py 文件中收到以下错误
AttributeError: module 'app_name.views' has no attribute 'dash_index'
尝试 n°3:
@login_required
def dash_index(request, **kwarg):
return render(dispatcher(request),"dashboard_template.html")
同样的错误
AttributeError: module 'app_name.views' has no attribute 'dash_index'
有人可以帮忙吗?