我的django应用程序有两种方法可以从给定数据中绘制图表。 我已经为生成图表显示页面添加了一个链接,如下所示
<ul id ="dataplots" class="report">
<li id="alldataplots_list" class="report">
<a href="{% url alldata_report %}"> All data Plot </a>
</li>
...
</ul>
同样,我想提供链接来创建特定年份的数据图
我已将urls.py和views.py编码如下。我想不出的是,如何提供 链接将调用
http://127.0.0.1:8000/myapp/data/2011
视图
'create_report_for_data_of_the_year'
正在运行。我可以在浏览器栏中输入并运行它。 但是我想把它作为一个链接提供。这是多年来一个下拉列表的答案?我是否必须提供表格, 提交按钮等并将年份作为发布数据发送?
欢迎任何帮助/建议
感谢
标记
urlpatterns=patterns('',
url(r'^data/(?P<year>\d{4})/$','myapp.views.create_report_for_data_of_the_year',
{
'template_name':'myapp/report_for_data_of_the_year.html',
'page_title':'report for data in the Year'
},name='report_data_for_year' ),
url(r'^data/$','myapp.views.create_report_for_alldata',
{
'template_name':'myapp/alldata_report.html',
'page_title':'All data report'
},
name='alldata_report'),
)
def create_report_for_alldata(request,page_title,template_name):
dataset=MyDataModel.objects.filter(creator=request.user)
map = create_map_of_names_and_values(dataset)
basefilename = "alldataplot"
imgfilename = create_plot(map,basefilename)
report_data={'basefilename':basefilename,'plot_image':imgfilename,'page_title':page_title}
report_data["name_value_dict"]=map
req_context=RequestContext(request,context)
return render_to_response(template_name,req_context)
def create_report_for_data_of_the_year(request,year,page_title,template_name):
dataset=MyDataModel.objects.filter(today__year=year,creator=request.user)
#today is a field in MyDataModel and is a datetime.datetime
map = create_map_of_names_and_values(dataset)
basefilename = "plotofdataforyear%s"%year
page_title = page_title+" "+year
imgfilename= create_plot(map,basefilename)
report_data={'basefilename':basefilename,'plot_image':imgfilename,'year':year,'page_title':page_title}
report_data["name_value_dict"]=map
req_context=RequestContext(request,context)
return render_to_response(template_name,req_context)
...
答案 0 :(得分:0)
不,你不必使用帖子。此示例使用内联单击处理程序,您可能希望使用jQuery或其他库重构,但它显示了如何使用下拉列表进行导航。 http://lab.artlung.com/dropdown/