python - 将带有值的按钮重定向到其他 django 模板/ View

标签 python html django django-templates

首先,我从用户那里获取一个 csv 文件。 (模板文件:)

<form method="post" action="{% url 'rowcol' %}" enctype="multipart/form-data">
    {% csrf_token %}
    <input type="file" name="file" accept=".csv">
    <button type="submit">Upload File</button>
</form>

然后我生成文件中存在的所有列的列表,然后调用另一个 html 文件。 (views.py:)

def rowcol(request):
    if request.method == 'POST':
        file = request.FILES['file']
        dataset=pd.read_csv(file)
        lst=list(dataset)
        return render(request, 'Link5_rc.html', {'arr':lst})
    return HttpResponse('')

在该 html 文件中,我正在为所有存在的列创建按钮。(Link5_rc.html:)

{% for link in arr %}
<form action=" " method="post">
<button name="{{link}}" type="submit" value="{{link}}">{{link}}</button>
</form>
{% endfor %}

现在以下是我陷入困境的部分:我希望这些按钮重定向到另一个 html 页面,或者可能是views.py 中的 View ,我可以在其中向用户显示他/她选择的列,然后进一步执行对该特定列的操作。

最佳答案

您可以向请求传递一个或多个值,如下例所示:

<a href="{% url 'your_url_alias' value_1='1' %}">Some text</a>

您可以使用如下变量:

<a href="{% url 'your_url_alias' value_1=column.id %}">Some text</a>

在您的应用程序 urls.py 中,您应该设置以下内容以接收请求中的额外数据:

url(r'^your_name/(?P<value_1>[\d\D]+)$', views.your_view, name="your_url_alias")

然后,在您的 View 函数中,您应该收到如下数据:

def your_view(request, value_1):

然后您可以使用该值来过滤查询集。

关于python - 将带有值的按钮重定向到其他 django 模板/ View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58358245/

相关文章:

python - Django 对 URL 的覆盖率测试为 0%,为什么?

Django命令抛出TypeError : handle() got an unexpected keyword argument

Python Gmail API 'not JSON serializable'

python - 咖啡执行

html - 如何提高不需要登录的在线表单的安全性?

javascript - 确保浏览器将下载文件而不是打开它

django - 与 pgAdmin 的远程 PostgreSQL 连接

python - python 多线程中的意外行为

python - 从基于另一个列表的列表列中删除列表值

html - 句间距