将多个值从用户输入传递到Django视图

时间:2014-01-18 17:28:04

标签: html django

这就像我理解Django的工作方式一样 从浏览器的地址栏中搜索urls.py以查找匹配的地址。 如果找到地址,则下一步是访问views.py中的def() def()确实填充并将数据传递回网页。

我想要做的是,并且无法理解这样做的机制,是从网页上取两个输入日期并将它们传递给views.def()。在网页上提交存储多一个数据条目。如果是这样,这是如何工作的?

的test.html

{% extends 'base.html' %}
{% block content %}
    <br /><br />
    <form action="" method="get">   
        <label for="from">Start Date</label>
            <input type="text" name="start_date"><br /><br />
        <label for="to">End Date &nbsp;</label>
            <input type="text" name="end_date"><br />
        <input type="submit" value="Submit">
    </form>
    <p>{{ s_date }}</p>
    <p>{{ e_date }}</p>
{% endblock %}

views.py

def Test(request):
    if 'start_date' in request.GET: 
        s_date = request.GET['start_date']
        e_date = request.GET['end_date']
    else:
        s_date = None
        e_date = None
    context = {"s_date": s_date, "e_date": e_date}
    return render_to_response('test.html', context, context_instance=RequestContext(request))

在Stackoverflow消息Passing objects from template to view using Django上使用method =“post”。因为我只想读取数据,method =“get”会更好吗?

以防万一,日期是以yyyy-mm-dd格式存储。

该功能正在运行。我想知道关于将变量从模板传递给函数我缺少什么。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用request.GET访问GET参数,例如request.GET['start_date']request.GET['end_date']