【问题标题】:How to pass values from html to python如何将值从html传递到python
【发布时间】:2019-10-13 17:11:48
【问题描述】:

我在第一页有 4 个按钮,可以让我进入另一个页面(所有这些“按钮”都连接到 mysql 中的数据库),在第二页上,我有一些来自 mysql 表的数据,我想根据什么来显示我选择了第一页。现在我只是展示我拥有的一切,我真的不知道如何改变它。我一直在寻找解决方案,但没有奏效。

views.py

def kategorie_list(request):

    obj = Kategorie.objects.all()
    context ={'obj': obj}
    return render(request, "kategorie/lista.html", context)

def uslugodawcy_list(request):

    obj = Uslugodawcy.objects.all()
    context ={'obj': obj}
    return render(request, "uslugodawcy/uslugodawcy_lista.html", context)

第一个html页面

{% for Kategorie in obj %}

     <p> <a class="btn btn-primary" href="/uslugodawcy"><button type="nw" style="height: 65px; width: 170px"> <font size="4">{{Kategorie.idkategorie}} . {{Kategorie.nazwakategorii}}</font> </button> </a> </p>

{% endfor %}

{% for Uslugodawcy in obj %}

     <p> <a class="btn btn-primary" href="/promocje"><button type="nw" style="height: 65px; width: 170px"> <font size="4">{{Uslugodawcy.iduslugodawcy}} . {{Uslugodawcy.nazwa_uslugodawcy}} </font> </button> </a> </p>

{% endfor %}

【问题讨论】:

  • 如果你没有得到任何输入,你怎么知道如何过滤任何东西?您的服务器必须接收一些东西,对其进行清理并将其用作过滤器
  • 在这种情况下,它真的很简单,你应该让你的 url 包含你想要显示的类别 (/uslugodawcy/)。因此,更改您的 urls.py,然后您的视图将有一个额外的类别参数,您可以使用它来过滤您的对象。然后在您的按钮列表中,您可以将 category_id 附加到 url(在 href 属性中)。您应该花一些时间完成Django tutorial 来完全掌握其中的一些概念。
  • 我可以建议您先完成完整的 Django 教程吗?
  • 好吧,过滤器有效,但是如何“获取”过滤器属性,例如obj = Uslugodawcy.objects.filter(idkategorie=2) 作为变量(不是常量值)或者如果不是,那么通过单击按钮过滤数据的其他方法是什么?这些是我们创建 Web 应用程序的“第一步”,我们在这个领域的知识真的很差。我们已经完成了一些 django 教程(来自 CodingEntrepreneurs),还尝试在不同的互联网论坛上找到一些技巧,但我们没有找到合适的答案。

标签: python html mysql django


【解决方案1】:

有很多方法。概述:

  1. Style a link as a button. 。如果hrefhttp://djangoserver/url?foo=bar,那么request.GET['foo'] 将可用并且等于"bar"

  2. 使所有按钮都与您正在显示和发布的表单相关,因此所有按钮都执行提交,但具有不同的值,您可以在 request.POST 中找到这些值。 &lt;button form="form-id" type="submit" ...&gt;

  3. 使用 Javascript 导致单击按钮以填写表单上的字段(可能是隐藏字段,因此用户没有其他方法可以更改它们。

【讨论】:

  • 我已经尝试了第二个选项,但我无法在views.py 的函数中使用这个值。你能帮我吗?我知道这应该很容易,但我是初学者,这是我的第一个项目。
  • 我想这就是你的答案:stackoverflow.com/questions/866272/…
  • 元答案,始终搜索 Stackoverflow [django] other keywords。方括号中的术语是标签。上面找到[django] multiple submit button value
猜你喜欢
  • 1970-01-01
  • 2020-05-03
  • 2023-03-04
  • 2021-10-26
  • 2020-08-28
  • 1970-01-01
  • 2020-11-11
  • 1970-01-01
  • 2018-10-06
相关资源
最近更新 更多