Django视图仅呈现第一个URL

时间:2019-06-19 15:18:01

标签: python django

我的Django应用程序中包含以下代码:

View.py

def Chart(request):
#fusionchart code
    return  render(request, 'dash.html', {'output' : column2D.render(),'output2' : doughnut3d.render(),'output3' : area2D.render()})


def view_name(request):
#calculation code
    return render(request, 'dash.html', {'today': today})

def default_map(request):
#map built code
    return render(request, 'dash.html', 
                  { 'mapbox_access_token': mapbox_access_token })

url.py

urlpatterns = [
    url(r'^$', views.Chart, name = 'Chart'),
    url(r'^$', views.view_name, name = 'view_name'),
    url(r'^$', views.default_map, name="default"),  
]

我目前遇到的问题是,urlpatterns仅显示/渲染第一个def(在本例中为def图表)中执行的操作,而跳过其他两个def。

如何确保Django将所有三个defs考虑在内,并将所有三个defs呈现在同一页面上?

1 个答案:

答案 0 :(得分:0)

您需要使用不同的URL路径。这就是为什么它不起作用。您拥有通往所有这些人的相同路径。

views.py

def chart(request):
    #fusionchart code
    context = {
        'output' : column2D.render(),
        'output2' : doughnut3d.render(),
        'output3' : area2D.render(),
        'today': today,
        'mapbox_access_token': mapbox_access_token
    }
    return  render(request, 'dash.html', context)

urls.py

urlpatterns = [
    url(r'^$', views.chart, name='chart'),
]