首先,我从用户那里获取一个 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/