【问题标题】:Pass parameters from Django template to view将参数从 Django 模板传递到视图
【发布时间】:2021-03-14 13:50:03
【问题描述】:

我从外部 API 提取数据并将其显示在我的模板中。我想为用户提供一些参数化这些 API 请求的选项。这样做的最佳方法是什么?

例如,我正在渲染一个游戏时间表,我想让用户选择leaguedate 参数,并根据用户的选择从API 中提取数据。

查看

def games(request):
    """ View to return games page """
    if request.method == "GET":
        day = request.GET.get('date')


    params = {"league": "nba", "date": day}

    results = requests.request("GET", URL, headers=headers, 
                               params=params).json()

带有用户输入表单的模板:

    <form method="GET">
       {% csrf_token %}
       <input type="hidden" id="date" name="tomorrow" value=" 
           {{tomorrow|date:'Y-m-d'}}">
       <button class="btn tomorrow-btn light-blue" type="submit">
           Tomorrow's Games
       </button>
    </form>

【问题讨论】:

  • 你能分享你的模板吗?
  • 模板中没有任何内容可以显示。只是一个显示所有游戏的 for 循环。我需要创建一个表单或按钮来传递一个日期,然后在我的视图中接收它。
  • 我想你需要使用 ajax 请求。您将能够通过按钮启动 ajax 并将任何内容发送到您的视图。
  • 您对视图代码的描述和示例晦涩难懂。您是在问如何制作表格?请显示更多代码并阐明您的意图。
  • 添加了我的表单,只是不知道如何使它全部工作。

标签: python django django-views django-forms


【解决方案1】:

我更新了代码以显示正确答案。我的表单方法错误,应该是 GET。

然后我将表单值分配给一个变量并将该变量传递给 API 参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-19
    • 2019-02-16
    • 2015-09-18
    • 2015-07-07
    • 2018-02-10
    • 2020-06-08
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多