首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过html中的链接将年份值传递给django视图。

问如何通过html中的链接将年份值传递给django视图。
EN

Stack Overflow用户
提问于 2011-07-14 01:08:22
回答 1查看 228关注 0票数 1

我的django应用程序有几种方法可以从给定的数据绘制图表。我已经放置了一个用于生成图表显示页面的链接,如下所示

代码语言:javascript
复制
<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编码为below.What,我不知道如何提供将调用的链接

代码语言:javascript
复制
http://127.0.0.1:8000/myapp/data/2011

这样就可以看到

代码语言:javascript
复制
'create_report_for_data_of_the_year' 

正在运行。我可以在浏览器栏中键入并运行它。但是我想提供一个作为link.Is的下拉列表,对于这些年的答案是什么?我是否需要提供表格、提交按钮等,并将年份作为发布数据发送?

欢迎任何帮助/建议

谢谢

标记

urls.py

代码语言:javascript
复制
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'),

)

views.py

代码语言:javascript
复制
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)
...
EN

回答 1

Stack Overflow用户

发布于 2011-07-14 04:11:40

不,你不需要使用帖子。此示例使用内联单击处理程序,您可能希望使用jQuery或其他库对其进行重构,但它展示了如何使用下拉菜单进行导航。http://lab.artlung.com/dropdown/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6682786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档